复制密钥文件到另一台服务器,使用所有ssh密钥从第三台服务器在两台服务器之间远程复制...
我正在用python編寫一個(gè)部署腳本,但是在我完成它之后,我發(fā)現(xiàn)可能不可能實(shí)現(xiàn)我的想法。在
情況是這樣的。在
我有三個(gè)主人。在主機(jī)1:Ubuntu 12.04
主機(jī)2:SUSE Linux Enterprise Server 11 SP1
主機(jī)3:Windows Server 2008 R2,安裝了Cygwin 1.7.8,也安裝了WinSSHD(我知道正常的ssh登錄是由WinSSHD處理的,但是rsync使用Cygwin路徑,不知道怎么回事)
現(xiàn)在我需要在Host1上運(yùn)行remote copy命令,讓文件在Host2和Host3之間傳輸。我已經(jīng)設(shè)置了所有的ssh密鑰,在ssh登錄到任何主機(jī)之后使用scp都沒有問題。在
然而,這將失敗。在Host1:~$ ssh Host2 scp Host3:/myfile_on_Host3 /target_Host2_path
這個(gè)命令什么也不返回,scp應(yīng)該列出文件復(fù)制,但這只是返回什么也不返回,文件不會(huì)被復(fù)制。在
這也會(huì)失敗
^{pr2}$
同樣,這不會(huì)返回任何內(nèi)容,甚至不會(huì)返回一行。在
不過,下面的方法是可行的Host1:~$ ssh Host2
Host2:~$ scp Host3:/myfile_on_Host3 /target_Host2_path
所以我完全搞不懂,為什么在第三臺(tái)主機(jī)上,我不能在另外兩臺(tái)服務(wù)器之間進(jìn)行遠(yuǎn)程復(fù)制?在
更新:
我最終使用rsync而不是scp實(shí)現(xiàn)了文件復(fù)制,但是我仍然完全不明白。在
所以這將復(fù)制文件。在Host1:~$ ssh -A Host2 'rsync /myfile_on_Host2 Host3:/cygdrive/d/targetHost3Path/'
使用scp也可以實(shí)現(xiàn)以下功能。在Host1:~$ ssh -A Host2 'scp /myfile_on_Host2 Host3:D:\\targetHost3Path'
總結(jié)
以上是生活随笔為你收集整理的复制密钥文件到另一台服务器,使用所有ssh密钥从第三台服务器在两台服务器之间远程复制...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java为什么需要枚举_java – 什
- 下一篇: Express框架简介、express使