Ssh

ssh:ProxyCommand 轉發主機查找失敗

  • November 2, 2015

我正在嘗試從我的本地電腦到稱為集群的伺服器執行 ssh 多跳,中間使用稱為 merlot 的伺服器。根據http://sshmenu.sourceforge.net/articles/transparent-mulihop.html,這就是我製作 ~/.ssh/config 的方式:

Host merlot
 HostName merlot.stat.uconn.edu
 User vdeshpande
Host cluster
 HostName stats.phys.uconn.edu
 User vdeshpande
 ProxyCommand ssh -q merlot nc -q0 cluster 22

當我ssh cluster在終端中輸入時,系統會提示我輸入 merlot 的密碼。輸入後,我收到此錯誤:

cluster: forward host lookup failed: Unknown host
ssh_exchange_identification: Connection closed by remote host

我該如何解決?我已經檢查了 nc 是否已安裝。另外,我可以 ssh 進入 merlot,然後 ssh 進入集群。

您的 ProxyCommand 錯誤。有兩種處理方法:

首選方式是使用 openssh 本機開關-w

ProxyCommand ssh -W %h:%p proxy

netcat 版本看起來是這樣的:

ProxyCommand ssh -q proxy nc %h %p

您不能在遠端 netcat 命令中使用您的別名,因為它不知道它們。偉大的指南是替代品%h,這是HostName您在上面指定的。

所以對於你的情況:

ProxyCommand ssh -q merlot nc -q0 %h 22

引用自:https://serverfault.com/questions/733373