2012-02-10 27 views
1
import paramiko 
import os 
import sys 

ssh = paramiko.SSHClient() 
paramiko.util.log_to_file('U:\\Temp\\paramiko.log') 
ssh.load_system_host_keys() 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 


ssh.connect('172.18.24.234','/TestBTEC/',22,'btectest','M3j0Stanf0rd') 
stdin, stdout, stderr = ssh.exec_command("mkdir abc") 
stdout.readlines() 

これは明らかにエラーを投げ捨てています。ユーザbtectestのリモートサーバ上のホームディレクトリを設定する正しい方法は何ですかParamikoフォルダパスを指定する方法

答えて

0

SSHCient.connect()に渡すパラメータは間違っています(少なくともparamiko 1.6+では)。

ssh.connect('172.18.24.234', username='btectest', password='...') 

または明示的にポートが含まれている場合::あなたのConnect()の呼び出しは次のようになります。

一度接続
ssh.connect('172.18.24.234', 22, 'btectest', '...') 

、すでにユーザー「btectest」のホームディレクトリにある必要があり、これでわかるように:

stdin, stdout, stderr = ssh.exec_command("pwd") 
stdout.readlines() 
+0

ファイル ""、ライン1、( "172.18.24.234"、22 'btectest'、 'M3j0Stanf0rd') ファイル「C:\ DocumentsとSettings \ tyoffe \アプリケーションデータ(self、server_hostkey_name、server_key) ファイル "C:\ Documents and Settings \ tyoffe \ Application Data \ Python"を入力してください。 (不明なサーバー%s '%ホスト名) SSHException:不明なサーバー172.18.24.234 >>> ssh.connect(' 172.18。\ Python27 \ site-packages \ paramiko \ client.py " 24.234 '、22、' btectest '、' M3j0Stanf0rd ') – user1086526

+0

I ssh.load_system_host_keys()をコメントアウトし、例外エラーが発生しなくなりました。しかし、pwdコマンドを渡すと、私はディレクトリを見ることができません。 – user1086526

1

の代わりにあなたも 輸入OS

以下のようUSERPROFILEとして親ディレクトリを指定することができます設定 ssh.connectで
abc_dir = os.path.join('%UserProfile%','abc') 
cmd = "mkdir %s" % abc_dir 
stdin, stdout, stderr = ssh.exec_command(cmd) 
関連する問題