
幾個小時前,我更改了 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
- 允許的身份驗證方法是
publickey
和password
- 您的用戶端儲存了多個可用於透過「公鑰驗證」(正在嘗試的方法)登入的 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
由於伺服器原件遺失,伺服器無法授權您通過公鑰認證並且所有登入努力都會失敗。
解決方案
- 修復您的密碼驗證處理適用於 Windows 的 OpenSSH。
由於您沒有提供有關如何啟動 ssh 連接的任何信息,因此無法給出正確的答案。
您可能使用 GUI 工具進行連線。然後,只需打開終端視窗並透過命令列啟動會話就足夠了。
=> 您應該建立一個包含更多詳細資訊的新問題來解決這個特定問題。
或者
root/.ssh/authorized_keys
在伺服器上恢復或重新建立。
若要將密鑰新增至authorized_keys
:- 僅將 Windows 用戶端上存在(或新建立)的金鑰對的公鑰複製
C:\Users\???\.ssh\
到伺服器。 - 在伺服器上將公鑰新增至使用者的
authorized_keys
:
cat <public_key_file> >> ~/.ssh/authorized_keys
- 測試登入
- 僅將 Windows 用戶端上存在(或新建立)的金鑰對的公鑰複製
對於變體 2:如果您無法實際存取伺服器的本機控制台,您可能需要下載 Live Linux 並將其安裝到 USB 記憶棒上,透過密碼驗證連接到伺服器,以便重新套用公鑰。
請注意:如獵羊犬已經提到使用用戶根對於遠端連線來說是一個壞主意。最好使用普通用戶並使用它sudo
來獲取 root 權限。
答案2
我發現了問題。毫不奇怪,這是我所做的事情。
帶有所有“@”符號的錯誤訊息告訴我有人正在嘗試“令人討厭的東西”,該訊息非常清楚,並且還刪除了“known_hosts”檔案的內容。但後來我在嘗試使用“root”登入時犯了錯誤,顯然它確實被禁用了。另外我剛剛意識到在第一次啟動過程後您無法使用小寫用戶名登入。
使用使用者「test」和密碼「test」登入不起作用,但使用使用者「Test」和密碼「test」登入卻可以。
所以我想我學到了一些新東西。