带ppk文件的Paramiko sftp上传

2024-03-29 08:00:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Paramiko Lib创建一个python脚本,以便在sftp上上载一个文件,该文件使用“ppk”文件和密码短语进行连接

不幸的是,我无法破解该文档或找到任何可以连接sftp和ppk文件的内容

其他详细信息: SFTP可以手动连接到Filezilla,WinSCP不允许

这是我只能看到的代码。请帮忙

k = paramiko.RSAKey.from_private_key_file("/key.ppk")
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
c.connect( hostname = "ftp.example.com", username = "user", pkey = k,passphrase="somephrase" )

这是最小的问题,我需要在连接后上传


Tags: 文件key文档脚本hostparamiko密码lib
1条回答
网友
1楼 · 发布于 2024-03-29 08:00:42

我建议您将.ppk转换为.pem! 见: Conver ppk to pem

然后像这样:

import paramiko
k = paramiko.RSAKey.from_private_key_file("mykey.pem")
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
print "connecting"
c.connect( hostname = "www.host.com", username = "ubuntu", pkey = k )
print "connected"
commands = [ "/home/ubuntu/firstscript.sh", "/home/ubuntu/secondscript.sh" ]
for command in commands:
    print "Executing {}".format( command )
    stdin , stdout, stderr = c.exec_command(command)
    print stdout.read()
    print( "Errors")
    print stderr.read()
c.close()

相关问题 更多 >