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

时间:2017-04-13 15:08:58

标签: linux bash ssh nested scp

目标:我正在尝试将文件夹及其文件从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做了一些尝试,但没有运气。

欢迎任何建议

1 个答案:

答案 0 :(得分:1)

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

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