2011-07-27 15 views
2

私はparamikoとSFTP接続を開く際に問題があります。paramikoはSFTP接続を開くことができません

client = SSHClient() 
client.set_missing_host_key_policy(AutoAddPolicy()) 
client.load_system_host_keys() 
client.connect('some.example.com', username="myuser", password="mypassword") 
sftp_client = client.open_sftp() 
sftp_client.put(my_local_file) 

しかし、私はclient.open_sftpをヒットポイント()で、私は例外の取得:私の現在のコードは「チャネルを開くことができません。」

これは何が原因でしょうか?私は、コマンドラインsftpクライアントでサーバとの接続を開くことができました。

誰かが私に例を示すことができれば、それは素晴らしいだろうと私はここで私の呼び出しについて推測しています。

答えて

5

あなたが最初に作成し、トランスポートに接続する必要があります。今すぐ

transport = Transport((host, port)) 
transport.connect(username = username, pkey = mykey) # or password = mypassword 

には、SFTPクライアントを起動することができます

sftp_client = SFTPClient.from_transport(transport) 

次にあなたが

sftp_client.put(my_local_file) 

とするときすることができます'完了しました

sftp_client.close() 
transport.close() 
関連する問題