更改 IP 位址後 SSH 連線“權限被拒絕”

更改 IP 位址後 SSH 連線“權限被拒絕”

幾個小時前,我更改了 Windows PC 和 Raspberry Pi 的 IP 位址。到目前為止,我可以透過 SSH 連接到 Pi,沒有任何問題。現在,當我嘗試連接時,我收到錯誤訊息,有人正在嘗試“一些令人討厭的事情”,我應該聯繫我的網路管理員。

因此,我備份了“已知主機”檔案並建立了一個空檔案。當我現在透過 Windows 終端透過 SSH 連接時,我得到以下輸出:

輸出

我不知道這會告訴我什麼,也不知道我該做什麼。我已經刷過Pi了,但沒用。無論我是否在路由器配置中重置 PC 或 Pi 或兩者的網路配置,錯誤訊息都保持不變。

答案1

訊息

有人正在嘗試“一些令人討厭的事情”

是更改伺服器IP的結果。

當客戶端的使用者known_hosts擁有有關伺服器的信息,但儲存的部分資訊與標識伺服器的當前連線參數(即相同主機金鑰的其他 IP,反之亦然)不同時,通常會出現這種情況。

我認為,您的灰色主機名不是主機名,而是 IP 位址。更改伺服器的 IP 會觸發該訊息。使用主機名稱可以防止這種情況發生。
(判斷您使用的 IP 或主機名稱是否相關,因此最好替換該信息,而不是為了隱私而刪除它)

透過消除原始known_hosts文件,此錯誤應該已經消失並被“第一次聯繫”訊息取代,要求將新的主機密鑰添加到known_hosts.

=> 這不是您目前登入問題的一部分。


登入問題

調試日誌顯示:

  • 您所在的 Windows 用戶端使用 OpenSSH_for_Windows_8.1p1
  • 允許的身份驗證方法是publickeypassword
  • 您的用戶端儲存了多個可用於透過「公鑰驗證」(正在嘗試的方法)登入的 ID,
    但是伺服器上的帳戶沒有至少一個可用 ID 的掛件,/root/.ssh/authorized_keys並且所有五個請求都失敗。
    =>要么您從未使用過此身份驗證方法,要么通過重新刷新您的 Pi 伺服器,您消除了已經存在的/root/.ssh/authorized_keys,從而消除了您使用此請求方法的可能性。
  • 當公鑰驗證失敗時,SSH 會嘗試「密碼認證」,但遇到錯誤:
    read_passphrase: can't open /dev/tty: No such file or directory
    => 顯然“適用於 Windows 的 OpenSSH”確實知道在哪裡輸出登入對話框,最後在允許的三次嘗試後登入失敗。

歸併我很確定你問題中的當前資訊:

在致命變化之前,您會透過以下方式連接公鑰認證
原因:由於您沒有更改客戶端的相關設置,密碼認證失敗了,這個問題一定在你的致命改變之前就已經存在了。但由於您尚未意識到該問題,因此必須使用其他可能的身份驗證。

/root/.ssh/authorized_keys由於伺服器原件遺失,伺服器無法授權您通過公鑰認證並且所有登入努力都會失敗。

解決方案

  1. 修復您的密碼驗證處理適用於 Windows 的 OpenSSH
    由於您沒有提供有關如何啟動 ssh 連接的任何信息,因此無法給出正確的答案。
    您可能使用 GUI 工具進行連線。然後,只需打開終端視窗並透過命令列啟動會話就足夠了。
    => 您應該建立一個包含更多詳細資訊的新問題來解決這個特定問題。

或者

  1. root/.ssh/authorized_keys在伺服器上恢復或重新建立。
    若要將密鑰新增至authorized_keys

    1. 僅將 Windows 用戶端上存在(或新建立)的金鑰對的公鑰複製C:\Users\???\.ssh\到伺服器。
    2. 在伺服器上將公鑰新增至使用者的authorized_keys
      cat <public_key_file> >> ~/.ssh/authorized_keys
    3. 測試登入

對於變體 2:如果您無法實際存取伺服器的本機控制台,您可能需要下載 Live Linux 並將其安裝到 USB 記憶棒上,透過密碼驗證連接到伺服器,以便重新套用公鑰。


請注意:如獵羊犬已經提到使用用戶對於遠端連線來說是一個壞主意。最好使用普通用戶並使用它sudo來獲取 root 權限。

答案2

我發現了問題。毫不奇怪,這是我所做的事情。

帶有所有“@”符號的錯誤訊息告訴我有人正在嘗試“令人討厭的東西”,該訊息非常清楚,並且還刪除了“known_hosts”檔案的內容。但後來我在嘗試使用“root”登入時犯了錯誤,顯然它確實被禁用了。另外我剛剛意識到在第一次啟動過程後您無法使用小寫用戶名登入。

使用使用者「test」和密碼「test」登入不起作用,但使用使用者「Test」和密碼「test」登入卻可以。

所以我想我學到了一些新東西。

相關內容