如何修復ssh_exchange_identification read Connection reset by peer錯誤?
簡介
安全外殼 (SSH) 是一種用於安全網路通訊的協議。SSH 對於各種規模的組織都至關重要,因為它提供了對跨越不安全網路的伺服器和計算機的安全遠端訪問。
憑藉其加密資料的能力,SSH 確保在兩個端點之間交換的資訊保持機密,即使資料透過網際網路等公共網路傳輸也是如此。與其他以明文傳輸資料(使其容易受到攔截或竊聽攻擊)的協議(如 Telnet 和 FTP)相比,SSH 已成為大多數系統管理員遠端訪問其伺服器的事實標準。
因此,務必使您的 SSH 伺服器保持最新安全補丁和配置。這也意味著 SSH 連線上的任何錯誤或連線問題都需要立即解決。
瞭解錯誤
在使用 SSH 時,可能會遇到一個常見的錯誤,這可能會導致沮喪和困惑:ssh_exchange_identification read Connection reset by peer 錯誤。此錯誤訊息表明您的客戶端和伺服器之間的 SSH 連線存在問題,並且可能會阻止您訪問伺服器或遠端執行命令。瞭解此錯誤訊息及其潛在原因對於快速解決問題至關重要。
ssh_exchange_identification read Connection reset by peer 錯誤的定義
ssh_exchange_identification read Connection reset by peer 錯誤通常發生在您嘗試建立到遠端伺服器的 SSH 連線時。“ssh_exchange_identification”指的是客戶端和伺服器在初始連線設定期間交換識別資訊的過程。
此錯誤訊息中的“Connection reset by peer”部分表示伺服器在嘗試識別自身時突然結束或終止了連線,而沒有傳送任何識別資訊。
錯誤原因
網路問題
在某些情況下,網路連線問題會導致此類錯誤。例如,如果存在高網路流量或不穩定性導致資料包丟失或延遲,則 SSH 連線可能會受到影響。此外,如果您從代理或路由器後面連線,而這些代理或路由器不允許傳出 SSH 流量,那麼您將無法與遠端伺服器建立 SSH 連線。
防火牆限制
如果您的遠端伺服器啟用了防火牆限制,這些限制會阻止某些埠(通常是埠 22)上的傳入 SSH 流量,那麼您將無法與之建立 SSH 連線。請確保任何正在使用的防火牆都已正確配置以允許這些所需埠上的傳入和傳出 SSH 流量。
SSH 配置錯誤
ssh_exchange_identification read Connection reset by peer 錯誤也可能是由不正確的 SSH 配置設定引起的。如果 SSH 伺服器未正確配置以允許來自您的 IP 地址的傳入連線,或者 SSH 客戶端配置為使用錯誤的身份驗證憑據,則可能會發生這種情況。
另一個潛在的 SSH 配置錯誤原因是客戶端和伺服器上使用的加密演算法不匹配。如果這些不匹配,可能會導致握手失敗,進而導致 ssh_exchange_identification read Connection reset by peer 錯誤。
解決錯誤的故障排除步驟
修復 ssh_exchange_identification read Connection reset by peer 錯誤的分步指南
遇到 ssh_exchange_identification read Connection reset by peer 錯誤時,必須遵循系統的故障排除方法。以下是修復此錯誤的分步說明 -
檢查網路連線 - 在大多數情況下,錯誤是由於網路連線不良引起的。因此,務必驗證兩個裝置是否可以相互通訊。
要檢查連線,請從一個裝置 ping 到另一個裝置,並確保沒有資料包丟失。
暫時停用防火牆 - 如果您已驗證沒有網路問題,請暫時停用防火牆並嘗試再次連線。
防火牆可能會阻止 SSH 連線或導致裝置之間通訊干擾。
驗證 SSH 配置設定 - 必須檢查您的 SSH 配置設定是否與伺服器端匹配,因為錯誤配置可能是此錯誤的原因。
檢查網路連線
如前所述,連線弱或失敗會導致 ssh_exchange_identification read Connection reset by peer 錯誤。檢查網路連線相對簡單,因為它涉及從一個裝置的命令提示符或終端視窗 ping 並驗證資料包是否已成功傳送且沒有任何資料包丟失。
要使用 Windows 作業系統中的命令提示符視窗 ping 您的裝置 -
單擊“開始”
在搜尋框中鍵入“cmd”
右鍵單擊“命令提示符”並選擇“以管理員身份執行”
鍵入“ping ”並按 Enter 替換“”為要測試連線的另一個裝置的 IP 地址或主機名。
如果成功,您應該會看到一條訊息,指示已成功收到回覆(沒有資料包丟失)。如果失敗,請使用您的 IT 團隊或網際網路搜尋提供的其他可用資源進一步進行故障排除!
暫時停用防火牆
防火牆可能會導致兩個裝置之間通訊干擾或完全阻止 SSH 連線。假設故障排除過程確定網路連線不是錯誤的原因。在這種情況下,可能需要暫時停用防火牆並嘗試再次連線。
要在 Windows 10 作業系統上停用防火牆 -
單擊“開始”
在搜尋框中鍵入“Windows 安全”
單擊“Windows 安全”並選擇“防火牆和網路保護”。
透過在“防火牆”下選擇“關閉”來暫時關閉防火牆。
完成後,嘗試再次連線,看看是否是防火牆導致了 ssh_exchange_identification read Connection reset by peer 錯誤!
持續錯誤的高階修復
使用 SSH 客戶端啟用詳細模式進行故障排除
如果第 III 部分中的基本故障排除步驟無法解決問題,則可能需要使用更高階的技術來診斷和解決問題。其中一項技術是在 SSH 客戶端上啟用詳細模式。詳細模式提供了有關 SSH 連線過程的詳細資訊,這有助於查明錯誤發生的位置和原因。
要啟用詳細模式,請在透過 SSH 連線到遠端伺服器時新增 -v 選項。例如 -
ssh -v username@remote_host.com
這將導致 SSH 客戶端在連線建立期間顯示其操作的詳細日誌。日誌可能包含提供有關導致 ssh_exchange_identification read Connection reset by peer 錯誤原因的線索的錯誤訊息。
確定可能的原因後,您可以嘗試相應地調整設定或引數。如果您無法識別特定原因,請繼續修改伺服器端設定。
修改伺服器端設定以修復持續錯誤
如果詳細模式未提供足夠的資訊,或者您無法透過其他方法解決持續錯誤,則可能需要修改伺服器端設定。一種常見的策略是在遠端伺服器上停用反向 DNS 查詢。
反向 DNS 查詢是在 SSH 連線嘗試透過查詢與域名關聯的 IP 地址來驗證主機身份時發生的。但是,如果此過程由於網路延遲或其他因素而失敗或花費的時間過長,則會導致 ssh_exchange_identification read Connection reset by peer 錯誤。
要在 OpenSSH 伺服器(最常見的型別)中停用反向 DNS 查詢,請在 /etc/ssh/sshd_config 檔案中新增“UseDNS no”行並重新啟動 sshd 服務。另一種策略涉及增加 SSH 連線任一端上的各種超時值 - 例如,調整伺服器的 TCP 保活設定或修改客戶端的 ConnectionTimeout 引數。
結論
本文討論了 ssh_exchange_identification read Connection reset by peer 錯誤,這是一個 SSH 連線過程中常見的錯誤。我們探討了導致此錯誤的原因以及解決此錯誤的故障排除步驟。其原因可能從網路問題到不正確的 SSH 配置設定不等。