Ssh
ssh:ProxyCommand 轉發主機查找失敗
我正在嘗試從我的本地電腦到稱為集群的伺服器執行 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