用于远程文件夹复制的嵌套 scp

Nested scp for remote folder copying

Objective: 我正在尝试将文件夹及其文件从 HOST_C 复制到 HOST_A。 sshscp 由于密钥原因只能通过 HOSTB 完成。

基础设施:

HOST_A<-->HOST_B<-->HOST_C

当前程序:

ssh to host_B
scp -r from folder at C to folder on B
exit ssh from B
scp -r from  folder on B to folder on A
ssh to host_B again
rm -r folders created

我已经尝试使用 ProxyCommand 但没有成功。

欢迎提出任何建议

您可以使用 ssh 从主机 B 连接到主机 C,创建文件夹的 tar 存档以复制并将输出发送到 STDOUT,并将所有这些通过管道传输到连接到主机 A 的第二个 ssh 会话并解压在 STDIN 上收到的 tar 存档。

ssh host_C "cd /somewhere; tar czpf - folder" | ssh host_A "cd /somewhere; tar xzpf -"