复制密钥文件到另一台服务器,使用所有ssh密钥从第三台服务器在两台服务器之间远程复制...

我正在用python编写一个部署脚本,但是在我完成它之后,我发现可能不可能实现我的想法。在

情况是这样的。在

我有三个主人。在主机1:Ubuntu 12.04

主机2:SUSE Linux Enterprise Server 11 SP1

主机3:Windows Server 2008 R2,安装了Cygwin 1.7.8,也安装了WinSSHD(我知道正常的ssh登录是由WinSSHD处理的,但是rsync使用Cygwin路径,不知道怎么回事)

现在我需要在Host1上运行remote copy命令,让文件在Host2和Host3之间传输。我已经设置了所有的ssh密钥,在ssh登录到任何主机之后使用scp都没有问题。在

然而,这将失败。在Host1:~$ ssh Host2 scp Host3:/myfile_on_Host3 /target_Host2_path

这个命令什么也不返回,scp应该列出文件复制,但这只是返回什么也不返回,文件不会被复制。在

这也会失败

^{pr2}$

同样,这不会返回任何内容,甚至不会返回一行。在

不过,下面的方法是可行的Host1:~$ ssh Host2

Host2:~$ scp Host3:/myfile_on_Host3 /target_Host2_path

所以我完全搞不懂,为什么在第三台主机上,我不能在另外两台服务器之间进行远程复制?在

更新:

我最终使用rsync而不是scp实现了文件复制,但是我仍然完全不明白。在

所以这将复制文件。在Host1:~$ ssh -A Host2 'rsync /myfile_on_Host2 Host3:/cygdrive/d/targetHost3Path/'

使用scp也可以实现以下功能。在Host1:~$ ssh -A Host2 'scp /myfile_on_Host2 Host3:D:\\targetHost3Path'

你可能感兴趣的:(复制密钥文件到另一台服务器)