我成功使用了
ssh -q -i pubkey [email protected] 'halt'
多年來,我們一直致力於從 Linux 機器上停止 FreeBSD 系統(FreeNAS)。
突然間,這個指令突然停止運作了:ssh 使用這個指令永遠掛起。由於這是在備份腳本中使用的,因此這是一場災難。
突然發生這樣的事情會發生什麼事?問題更有可能出現在伺服器端 (FreeBSD) 還是客戶端 (Linux)。我該如何修復它(在客戶端)?
答案1
檢查您的 SSH 用戶端設定。不應為客戶端TCPKeepAlive
設定為。no
答案2
您是否嘗試過手動 ssh 登入?
ssh -i pubkey [email protected]
我唯一的猜測是,無論出於何種原因,客戶端的known_hosts 被更改、刪除等。如果 openssl 在伺服器端發生變更(升級?),則known_hosts 項目將不符。
因此,當您使用 ssh 時,即使使用 pubkey,如果known_hosts 不存在,您也會得到以下資訊:
無法確定主機「192.168.200.122 (192.168.200.122)」的真實性。 RSA 金鑰指紋為 fa:7c:54:45:70:c2:70:f9:f2:3c:c9:75:4d:83:10:5b。您確定要繼續連線嗎(是/否)?
所以它正在等待你接受
或者如果不匹配你會得到這個
測試:~/.ssh # ssh 192.168.200.122 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ @@@@@@@@@@@@@@@@@@ @ 警告:遠端主機識別已更改! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ 可能有人在做一些令人討厭的事情!有人現在可能正在竊聽您(中間人攻擊)! RSA 主機金鑰也可能剛剛更改。遠端主機所傳送的 RSA 金鑰的指紋為 fa:7c:54:45:70:c2:70:f9:f2:3c:c9:75:4d:83:10:5b。請聯絡您的系統管理員。在 /root/.ssh/known_hosts 中新增正確的主機金鑰以消除此訊息。 /root/.ssh/known_hosts:1 192.168.200.122 的 RSA 主機金鑰中的違規金鑰已更改,您已要求嚴格檢查。主機金鑰驗證失敗。測試:~/.ssh #
所以手動嘗試一下。如果它不存在,您需要接受它,然後將建立known_hosts條目,然後下次您ssh時應該沒問題
如果不匹配,則編輯 ~/.ssh/known_hosts 並刪除該主機的項目。然後,當您再次手動 ssh 登入時,接受它並重新建立known_hosts條目。
我唯一能想到的就是。希望就是這樣!