我必须使用python 2.7连接到远程sftp服务器上传一些文件。我收到了用户名,密码和身份验证密钥文件。当我执行这段代码时:
srv= pysftp.Connection(host='54.172.33.121',username='xxx',password='xxx',private_key='c:\SFTPKey\hajjcoreit.ppk')
我收到此错误:
BadAuthenticationType: ('Bad authentication type', [u'publickey']) (allowed_types=[u'publickey'])
我可以通过winSCP访问服务器。
答案 0 :(得分:0)
您可能在主机名方面做错了。正如pysftp的正确语法是
import pysftp
sftp = pysftp.Connection('hostname', username='me', password='secret')
#
# ... do sftp operations
#
sftp.close() # close your connection to hostname
所以现在这就是你做的,
srv=pysftp.Connection('sftp.54.172.33.121',username='xxx',password='xxx',private_key='c:\SFTPKey\hajjcoreit.ppk')
所以你不会得到任何错误。还要与filezilla交叉检查链接,uid和密码是否正确。