ssh:ProxyCommand 转发主机查找失败

ssh:ProxyCommand 转发主机查找失败

我正在尝试从本地计算机到名为 cluster 的服务器进行 ssh 多跳,中间使用名为 merlot 的服务器。根据http://sshmenu.sourceforge.net/articles/transparent-mulithop.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 进入 cluster。

答案1

您的 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

相关内容