Нужна помощь в устранении проблем с paramiko - PullRequest
0 голосов
/ 08 декабря 2011

Я могу подключиться к серверу ssh по протоколу pexpect и без проблем войти в систему и запустить команды. Однако я хотел бы перейти к использованию paramiko для создания соединений ssh, чтобы я мог воспользоваться некоторыми другими модулями paramiko. Однако, когда я использую paramiko, я получаю ошибку:

sock.connect((hostname, port))
  File "<string>", line 1, in connect
socket.error: [Errno 113] No route to host

Я не понимаю, почему в нем не указан маршрут к хосту, поскольку я определенно могу добраться до узла, как показал мне pexpect, или просто путем ssh'ing к узлу.

Любая помощь в том, что может быть проблемой здесь, будет принята с благодарностью. Я не знаю, как вообще решить эту проблему.

Я запускаю paramiko с включенными отладками, как это, но я не получаю никаких сообщений отладки, и скрипт просто сразу завершается ошибкой:

paramiko.common.logging.basicConfig(level=paramiko.common.DEBUG)

1 Ответ

1 голос
/ 18 декабря 2011

Было бы полезно, если бы вы могли опубликовать упрощенный пример кода, который вы используете.

Убедитесь, что разрешение имен происходит правильно:

socket.gethostbyname(hostname)

Кроме того, я не уверен, почему вы используете socket напрямую? Или это часть трассировки стека и сообщение об ошибке, которое вы получаете, когда вы

Вы должны быть в состоянии выполнить то, что вы хотите, с чем-то вроде этого:

from paramiko.client import SSHClient
client = SSHClient()
client.load_system_host_keys()
client.connect('ssh.example.com')
stdin, stdout, stderr = client.exec_command('ls -l')
print stdout

Было бы более полезно, если бы вы указали полное сообщение об ошибке, трассировку стека и используемый код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...