具有多个跳转服务器的 rsync 命令

具有多个跳转服务器的 rsync 命令

我有一个服务器,只能通过 2 个跳转服务器访问:

user@mylaptop$ ssh jumpserver1 ssh [email protected] ssh targetserver "bash -c 'hostname;whoami'"
targetserver
user2

jumpsever2targetserver位于同一网络,mylaptopjumpserver1位于另一个网络。我在 和 上的用户mylaptopjumperver1相同的。我在 和 上的用户jumpserver2targetserver另一个:user2。密钥对部署在以下两个网络之间:

  • mylaptopjumpserver1
  • jumpserver1user2@jumpserver2
  • jumpserver2targetserver

我想编写相应的 rsync 命令以便将文件从 发送mylaptoptargetserver

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

尽管已经部署了密钥对,但仍要求我输入密码。

相关内容