2012-02-10 3 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() 

Это, очевидно, отбрасывает ошибки. Каков правильный способ установки домашнего каталога на удаленном сервере для пользователя btectestParamiko Как указать Путь к папке

ответ

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 и Settings \ tyoffe \ Application Data \ 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 \ Python27 \ site-packages \ paramiko \ client.py ", строка 85, в missing_host_key raise SSHException ('Неизвестный сервер% s'% hostname) SSHException: Неизвестный сервер 172.18.24.234 >>> ssh.connect ('172.18. 24.234 ', 22,' btectest ',' M3j0Stanf0rd ') – user1086526

+0

I прокомментировал ssh.load_system_host_keys() и больше не получаю ошибку исключения. Однако, передав команду pwd, я не могу просмотреть каталог. – user1086526

1

Вместо установки вы можете также указать родительский каталог как UserProfile ниже импорта зева

abc_dir = os.path.join('%UserProfile%','abc') 
cmd = "mkdir %s" % abc_dir 
stdin, stdout, stderr = ssh.exec_command(cmd) 
Смежные вопросы