2017-01-13 11 views
-2

私は(私はそうとにかくだと思う)を使用して接続することができたオンラインこまごまとしたことからParamikoのライブラリhttp://docs.paramiko.org/en/2.1/api/sftp.htmlParamikoのSFTP Pythonの接続

を使って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() 

をこの時点で、私はちょうど私が妄想じゃないし、実際に接続していなかったかどうかを確認しようとしているので、私は(GETCWDを印刷しようとしていますなぜ

AttributeError: 'SSHClient' object has no attribute 'getcwd'

は、誰も私に伝えることができます:)それは、このエラーを返すだと悲しいことに、私は、どこにもなってないよ...現在のディレクトリを取得するには?私は間違って何をしていますか?

ありがとうございます!

答えて

1

これは私のために働いています。

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." 
1

paramiko.SSHClientオブジェクトをインスタンス化しましたが、SFTP Client methodsを実行しようとしています。

あなたはその事実を証明するために、これを実行することができるはずです。

sftp.exec_command('pwd') 

しかし、私はあなたが間違っていたところそれはおそらくあるので、むしろSSHクライアントよりも、SFTPのクラスをインスタンス化するためのものだと思います。

関連する問題