我可以ssh -X servA
从local
登录,然后ssh -X servB
从servA
要将数据从local
复制到servB
,我scp
个文件从local
复制到servA
,然后从servA
复制到servB
}}
将文件从local
直接复制到servB
是否可行,反之亦然?
答案 0 :(得分:2)
您可以使用nc(net cat)作为ssh的代理。
因此,对于您的示例,请将~/.ssh/config
文件编辑为:
Host servB
ProxyCommand ssh -q servA nc servB 22
只要nc在你的路径中,你现在应该能够ssh或scp目录到servB
如果您没有nc,如果您的版本足够新(> = OpenSSH 5.4),则可以使用ssh -W,
Host ServB
ProxyCommand ssh -W ServB:22 servA
答案 1 :(得分:0)
在ssh配置文件中使用ProxyCommand
。
答案 2 :(得分:0)
这就是我通常做的事情(我在Mac机器上做这件事并不知道它是否与Windows机器不同):
与任何servA或servB建立连接后,您可以执行以下操作:
从本地复制到servA或servB:
$ scp -P <port-number used> <file location to copy from> <username_in servA/servB>@localhost:<file location to copy to>
注意:这可以在本地机器上运行而不需要连接到任何servA / servB,只需要建立连接。
或从servA到servB:
$ scp -P <port-number used> <username_in servA>@localhost:<file location to copy from> <port-number used> <username_in servB>@localhost:<file location to copy to>
注意:我没有尝试过从服务器到服务器的这个scp,但似乎有点直接。
试着在这里提供帮助。