2012-02-10 295 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+)。你的connect()調用應該是這樣的:

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

,或者如果你明確地包括端口:

ssh.connect('172.18.24.234', 22, 'btectest', '...') 

連接之後,你應該已經在用戶的主目錄「btectest」可以看出這一點:

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

文件 「」,第1行,在 ssh.connect( 「172.18.24.234」,22, 'btectest', 'M3j0Stanf0rd') 文件「C:\的Documents and Settings \ tyoffe \應用數據\ Python \ Python27 \ site-packages \ paramiko \ client.py「,第316行,連接 self._policy.missing_host_key(self,server_hostkey_name,server_key) 文件」C:\ Documents and Settings \ tyoffe \ Application Data \ Python (未知服務器%s'%主機名) SSHException:未知服務器172.18.24.234 >>> ssh.connect('172.18。 24.234',22,'btectest','M3j0Stanf0rd') – user1086526 2012-02-10 19:49:42

+0

I註釋掉了ssh.load_system_host_keys()並且不再發生異常錯誤。但是,傳遞pwd命令我無法查看目錄。 – user1086526 2012-02-10 20:05:01

1

而不是設置你也可以指定父目錄USERPROFILE如下 進口OS的

abc_dir = os.path.join('%UserProfile%','abc') 
cmd = "mkdir %s" % abc_dir 
stdin, stdout, stderr = ssh.exec_command(cmd)