
從今天早上開始,我在嘗試連接到遙控器時收到以下錯誤訊息Ubuntu 14.04 LTS機器透過ssh
從MacBook Air 優勝美地 10.10.1。
ssh_exchange_identification: read: Operation timed out
使用-vvv
標誌時,會出現以下詳細訊息
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXX.XXX.XXX.XXX [XXX.XXX.XXX.XXX] port 22.
debug1: Connection established.
debug1: identity file /Users/felix/.ssh/id_rsa type -1
debug1: identity file /Users/felix/.ssh/id_rsa-cert type -1
debug1: identity file /Users/felix/.ssh/id_dsa type -1
debug1: identity file /Users/felix/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: read: Operation timed out
幾個月以來,這種連接一直運作良好。我從未遇到任何問題。其他解決方案如發現這裡和這裡沒有幫助。
關於如何解決這個問題有什麼建議嗎?
答案1
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: read: Operation timed out
根據您的偵錯追蹤,您正在設法連接到遠端 SSH 伺服器,並且伺服器不會斷開連接,但伺服器不會發送其軟體識別字串。這是客戶端和伺服器首先要做的事情,並且是以明文形式完成的。
我認為問題歸結為以下三件事之一:
您和伺服器之間的某些網路設備正在幹擾連線。例如,如果遠端主機位於 NAT 路由器後面,則連接埠 22 的連接埠轉送可能會設定錯誤,並且您連接到錯誤的服務。
遠端主機上的 SSH 伺服器程式可能掛起或故障。我見過這種情況,例如當主機嚴重過載或虛擬記憶體不足時。或者伺服器可能正在使用類似的東西TCP 包裝器,而且它正在對您的客戶端 IP 進行 DNS 查詢,這需要很長時間才能解析。
遠端主機的設定方式不尋常,且在連接埠 22 上執行的服務不是 SSH 伺服器。
如果您可以存取伺服器,請將故障排除集中在此。找到 ssh 伺服器的日誌——它們應該在其中/var/log
,看看它是否記錄了有關這些失敗的連接嘗試的任何資訊。嘗試從伺服器執行 ssh 到 localhost,看看是否正常運作。
如果您擁有伺服器的 root 存取權限,則可以嘗試啟動 的偵錯實例以sshd
查看用戶端連線時記錄的內容。停止正常sshd
伺服器,然後在根終端機視窗中運行/path/to/sshd -d
.這將運行 sshd 的副本,它將接受一個連接並將偵錯資訊列印到終端視窗。查看是否可以重現問題,然後檢查伺服器記錄的內容。
如果無法使普通 ssh 伺服器離線,可以在另一個連接埠上執行 sshd:/path/to/sshd -p 42 -d
在連接埠 42 上執行偵聽 sshd 的副本ssh -p 42 user@host
。如果您的問題是由於幹擾網路設備造成的,則其行為可能與連接埠 22 的連線不同。