通过 bastion/jumper 使用 rsync 下载,无需 .ssh/config 更改

hbo*_*ert 5 ssh rsync

我想从服务器 C 下载一个文件,通过服务器 B(堡垒)到我的本地服务器 A。

通常我会用 处理 ssh/config 中的混乱ProxyCommand,但在这种情况下我不能。我们可以用 rsync 制作一个单线,它仍然可以让我做上面的事情吗?

hbo*_*ert 5

这是非常单行的,但您可以执行以下操作:

 rsync -e 'ssh -o ProxyCommand="ssh -W %h:%p user@B"' user@C:file .
Run Code Online (Sandbox Code Playgroud)

  • 在较新版本的 ssh 中,您还可以使用 `-J` ssh 命令行参数来创建更短且更易读的命令:`rsync -e 'ssh -J user@B' user@C:file 。` (2认同)