2012-02-10 269 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) 
相关问题