paramiko.SSHException: Ошибка чтения баннера протокола SSH - PullRequest
8 голосов
/ 01 марта 2012

Я использую Paramiko и пытаюсь подключиться к своему SFTP-серверу.Вот код, который я написал:

class SFTPUploader:
    def __init__(self, host, username, password, port):
        transport = paramiko.Transport((host, port))
        print transport
        transport.connect(username = username, password = password)
        self.sftp = paramiko.SFTPClient.from_transport(transport)

Я могу подключиться к своему серверу с терминала. Эта тема не помогла, поскольку наш сценарий другой.

1 Ответ

8 голосов
/ 07 марта 2012

Эта ошибка генерируется, когда paramiko не получает баннер протокола или сервер отправляет что-то недопустимое. Если сервер работает правильно, это может быть связано с некоторыми сетевыми ограничениями.

Вы можете использовать -vvv в качестве опции для клиента openssh, чтобы получить больше информации о его подключении, и вы можете легко получить фактический баннер, используя netcat или telnet на порту 22. Баннер должен начинаться с 'SSH-' , или paramiko немедленно вернет вышеуказанную ошибку.

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