使用 python 和 .pem 文件通过 SCP 进行文件传输的最佳方式
Best way to do file transfer via SCP using python and a .pem file
我想在 python 中复制该命令:
scp -i aKey.pem aFile.txt ec2-user@serverIp:folder
我找到了一些 SCP 的例子,但没有发现既没有使用 .pem 密钥,也没有告知用户密码。我怎样才能在 python 中做到这一点?
尝试使用paramiko模块。
在参数为 key_filename 的 paramiko 中检查 here for connect function。
在paramiko模块中,有一个SFTP命令可以用来传输文件。
演示代码如下所示:
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(<IP Address>, username=<User Name>, key_filename=<.PEM File path)
# Setup sftp connection and transmit this script
#print "copying"
sftp = client.open_sftp()
sftp.put(<Source>, <Destination>)
sftp.close()
**
或
**
可以直接使用python直接执行上面的命令
请check this link how to execute command in python.
演示代码:
from subprocess import call
cmd = 'scp -i aKey.pem aFile.txt ec2-user@serverIp:folder'
call(cmd.split())
我想在 python 中复制该命令:
scp -i aKey.pem aFile.txt ec2-user@serverIp:folder
我找到了一些 SCP 的例子,但没有发现既没有使用 .pem 密钥,也没有告知用户密码。我怎样才能在 python 中做到这一点?
尝试使用paramiko模块。
在参数为 key_filename 的 paramiko 中检查 here for connect function。
在paramiko模块中,有一个SFTP命令可以用来传输文件。
演示代码如下所示:
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(<IP Address>, username=<User Name>, key_filename=<.PEM File path)
# Setup sftp connection and transmit this script
#print "copying"
sftp = client.open_sftp()
sftp.put(<Source>, <Destination>)
sftp.close()
**
或
**
可以直接使用python直接执行上面的命令
请check this link how to execute command in python.
演示代码:
from subprocess import call
cmd = 'scp -i aKey.pem aFile.txt ec2-user@serverIp:folder'
call(cmd.split())