ssh - 不能使用 ProxyCommand 作为中间主机,但可以使用 rsync

ssh - 不能使用 ProxyCommand 作为中间主机,但可以使用 rsync

努力找出我哪里出错了

我需要通过中间主机服务器B将文件从服务器A移动到服务器C

我可以使用以下命令轻松地对单个文件使用 rsync 来完成此操作

rsync -avLuR -e "ssh -A user@serverB ssh" myFile.txt user@serverC:/home/user

但是,为了加快传输速度,我希望 rsync 重用主 ssh 连接,因此我一直在尝试通过修改来做到这一点~/.ssh/config

例如:

Host serverC
    User user
    ProxyCommand ssh serverB -W %h:%p

Host serverB
    User user

但是,尝试使用此配置从服务器 A ssh 到服务器 C 会产生以下输出:

channel 0: open failed: administratively prohibited: open failed
ssh_exchange_identification: Connection closed by remote host

据我所知,这是一个通用错误,可能意味着很多事情。其中之一是它AllowTCPForwarding已被禁用,但如果我的 rsync 命令确实有效,那么肯定不会出现这种情况?

值得澄清的是,我正在使用 OpenSSH_5.3p1,因此ProxyJump不能使用像这样的更新功能(AFAIK 甚至-W必须向后移植到此版本)

相关内容