如何使用来自python中的第三台本地计算机的scp在两个远程服务器之间传输文件

时间:2017-08-02 15:40:33

标签: python ssh paramiko scp

 I'm using paramiko to login in x machine then 
 after logged in machine x there are file in some path like 
 t="/abc/gfd/*" which 
 i want to copy to some path like 
 p=<username>@<machine-name/ip>:/dfg/hgf/kjh/.

cmd="pwd; scp {0} {1}".format(t,p)
pwd_of_machine_p="xyz"
cmd="xyz; scp {0} {1}".format(t,p)

then executing this cmd with paramiko obj like
client.exec_command(cmd)
which is not working .

当我对这条路径“/ dfg / hgf / kjh /”时,我什么都没有。

1 个答案:

答案 0 :(得分:0)

您可以在不使用paramiko的情况下使用以下简单方法。

import os
os.system("scp FILE USER@DEST_MACHINE:PATH")
#e.g. os.system("scp file.txt sunilt@xx.xx.xx.xx:/path/")

但在此之前,您需要在源计算机上生成一个ssh密钥并将其复制到目标计算机,以便scp自动使用您的公共ssh密钥进行身份验证,并且脚本不会要求输入密码。

有关生成和复制ssh密钥的信息是@ ssh_keygen_exapmple