парамико.SSHException: Ошибка чтения баннера протокола SSH

Я использую 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 ответов


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

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