use*_*843 -2 python ssh sftp paramiko
我正在尝试使用Paramiko的库http://docs.paramiko.org/en/2.1/api/sftp.html与Python(v2.7)建立SFTP连接
通过网上的零碎零碎,我能够(无论如何也是如此)使用私有加密证书进行连接。
如下所示:
import paramiko
sftp = paramiko.SSHClient()
hostname = "sftp.host.com"
port = 8022
username = "sftplogin"
k = paramiko.RSAKey.from_private_key_file("private.pem", password="XXX")
sftp.set_missing_host_key_policy(paramiko.AutoAddPolicy())
print "Connecting..."
sftp.connect(hostname, port, username=username, pkey=k )
print "Connected to: " + hostname + ":" + port
print sftp.getcwd()
sftp.close()
Run Code Online (Sandbox Code Playgroud)
在这一点上,我只是想看看我是否没有妄想,并且实际上没有连接,所以我试图打印一个getcwd()来获取当前目录……可惜的是我什么都没有,因为它返回此错误:
AttributeError:“ SSHClient”对象没有属性“ getcwd”
谁能告诉我为什么?我究竟做错了什么?
提前致谢!
这对我有用。
import os
import paramiko
host = "sftp.host.com"
port = 8022
transport = paramiko.Transport((host, port))
username = "sftplogin"
mykey = paramiko.RSAKey.from_private_key_file("private_export.pem", password="XXX")
print "Connecting..."
transport.connect(username = username, pkey = mykey)
sftp = paramiko.SFTPClient.from_transport(transport)
print "Connected."
print sftp.listdir()
sftp.close()
transport.close()
print "Closed connection."
Run Code Online (Sandbox Code Playgroud)