如何在两台远程机器之间使用sshpass复制数据?

时间:2014-04-09 12:08:41

标签: linux bash ssh

我是bash的新手,目前正在编写脚本。我正在使用两台远程计算机并通过sshpass访问它们(我知道硬编码密码并不好,但我应该这样做)。因此,如果我想将本地计算机中的内容复制到远程计算机上,我就是这样做的:

    sshpass -p $PASS scp <file> <destination>

但现在我想将数据从一台远程机器复制到另一台远程机器。 这是可能的还是我必须缓冲本地计算机上的数据? 如果可能,语法应该如何?我会以某种方式为两个参数都需要sshpass,对吧?

1 个答案:

答案 0 :(得分:1)

你可以直接在两台远程机器之间进行ssh吗?

从本地计算机运行此命令。 (machine1和mechine2是远程服务器)

sshpass -p $PASS1 ssh user1@machine1 "sshpass -p $PASS2 scp file user2@machine2:/destination"

在两个远程服务器和本地桌面之间的ssh / scp中设置无密钥到远程服务器。那么你不需要sshpass SSH login without password

ssh user1@machine1 "scp file user2@machine2:/destination"