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

Я использую Fabric для сценария сборки. Я только что клонировал одну из своих виртуальных машин и создал новый сервер. Скрипт Fabric (который использует paramiko внизу) отлично работает с одним сервером, но не с другим. Поскольку это клон, я не знаю, что может быть по-другому, но каждый раз, когда я запускаю свой сценарий Fabric, я получаю сообщение об ошибке Error reading SSH protocol banner. Этот сценарий подключается к одному и тому же пользователю на обоих серверах. Скрипт отлично работает на всех других серверах, кроме этого нового, который я просто клонировал. Единственное, что кардинально отличается, - это IP-адрес, у которого совершенно другой диапазон.

Есть идеи о том, что может быть причиной этого?


person Mridang Agarwalla    schedule 26.08.2011    source источник


Ответы (2)


Эта проблема не связана с Paramiko, Fabric или демоном SSH. Это была просто конфигурация брандмауэра во внутренней сети провайдера. По какой-то причине они не разрешают связь между своими подсетями.

На самом деле мы не могли исправить конфигурацию брандмауэра, поэтому вместо этого мы переключили все наши IP-адреса в одну подсеть.

person Mridang Agarwalla    schedule 31.08.2011
comment
У меня такая же ошибка. но в моем случае хост - это экземпляр Amazon, что мне делать в этом случае - person sagar; 23.10.2013

Попробуйте изменить время ожидания баннера с 15 до 30 секунд в файле transport.py. Кроме того, может быть, что демон sshd на сервере завис. Можете ли вы подключиться к нему по SSH вручную?

person Gabriel Ross    schedule 26.08.2011
comment
Я отредактировал transport.py и изменил время ожидания на 30 секунд, но это не помогло. Я могу подключиться к серверу по SSH вручную и выполнить все команды. Странная проблема. - person Mridang Agarwalla; 27.08.2011
comment
Я только что запустил traceroute от моего сервера Fabric к серверу A и серверу B. Трассировка сервера A прошла отлично, и сценарий тоже работает нормально, но traceroute сервера B показал мне 28 из этих неизвестных хостов * * *. IP-адреса обоих серверов принадлежат одному интернет-провайдеру, разница только в классе. - person Mridang Agarwalla; 29.08.2011
comment
Спасибо, это устранило проблему в моем случае. - person Cerin; 23.08.2012
comment
Спасибо, проблема тоже решена. - person VKen; 04.09.2014
comment
вы можете изменить параметр, не редактируя transport.py: transport.banner_timeout = 300 - person törzsmókus; 09.01.2018