SSH:无需连接端口

首先login到m1我可以连接到机器m2

 [laptop]$ ssh [email protected] [m1]$ ssh [email protected] [m2]$ # i'm in! 

这两台机器使用SSH密钥login(而不是密码),它的工作原理。

但是,当我尝试通过使用以下configuration使用SSH代理自动执行此操作时:

 Host m1 ForwardAgent yes User ubuntu HostName m1.com Host m2 ForwardAgent yes User ubuntu ProxyCommand ssh -q m1 nc m2.com 

它失败:

 [laptop]$ ssh m1 [m1]$ # ok, works [laptop]$ ssh m2 no port[s] to connect to ssh_exchange_identification: Connection closed by remote host 

为什么我可以手动连接到m2.com ,而不是通过configuration两跳? 如何解决它?

你忘了指定端口。

  ProxyCommand ssh -q m1 nc m2.com 22