我有一个服务器,只能通过 2 个跳转服务器访问:
user@mylaptop$ ssh jumpserver1 ssh [email protected] ssh targetserver "bash -c 'hostname;whoami'"
targetserver
user2
jumpsever2
和targetserver
位于同一网络,mylaptop
和jumpserver1
位于另一个网络。我在 和 上的用户mylaptop
是jumperver1
相同的。我在 和 上的用户jumpserver2
是targetserver
另一个:user2
。密钥对部署在以下两个网络之间:
mylaptop
和jumpserver1
jumpserver1
和user2@jumpserver2
jumpserver2
和targetserver
我想编写相应的 rsync 命令以便将文件从 发送mylaptop
到targetserver
:
mylaptop$ rsync -az /path1 user2@targetserver:/path2
我找到了命令行一跳转服务器但不适用于二。
迄今为止,
mylaptop$ rsync -az /path1 -e 'ssh jumpsever1 ssh [email protected] ssh targetsever' targetsever.other.network:/path2
不工作 (bash:目标服务器:未找到命令)
谢谢
答案1
我改编了来自通过中间主机进行 Rsync 文件并且有效:
rsync -azv -e 'ssh -o "ProxyCommand ssh -A jumpserver1 ssh [email protected] -W %h:%p"' /path1 [email protected]:/path2
尽管已经部署了密钥对,但仍要求我输入密码。