你好,我是 ssh 和 sftp 的新手。场景如下:我必须将一个大文件从本地传输到通过代理服务器的服务器。本地 <----> 代理 <-----> 目的地
问题是文件不适合代理服务器,所以我无法分两步执行 sftp。我必须通过代理在本地和目标之间定义隧道,但我不知道怎么做。基本命令如下:
ssh [email protected] ssh [email protected]
但此命令不起作用,因为我必须指定端口。在这种情况下,我该如何设置隧道以使用 sftp?
提前感谢 Marco
答案1
好的。不要使用netcat
。改用-W
开关:
sftp -o ProxyCommand="ssh -W %h:%p myfirsthop" mydestination
您可以通过编辑ssh_config
文件将其设为默认设置,默认情况下~/.ssh/config
:
Host mydestination
ProxyCommand ssh -W %h:%p myfirsthop