2010-03-22 3 views
10

Я использую скрипт, который подключается к кластеру через ssh и отправляет некоторые команды, а затем завершает соединение. Этот скрипт в основном соединяется один раз с использованием ssh, а затем выполняет скрипт в этом сеансе. Этот скрипт несколько раз перебирает список команд, и после его завершения соединение прекращается.ssh script дает ошибку «key_read»

Таким образом, этот скрипт прекрасно работает, за исключением того факта, что после нескольких циклов он дает мне следующую ошибку в цикле 22. И снова в цикле 32. Петли делают точно то же самое, поэтому я не могу понять проблему сценарий обращен. Я не думаю, что этот скрипт может запрашивать аутентификацию каждый раз, когда ему приходится проходить через цикл.

Это ошибка:

key_read: uudecode AAAAB3NzaC1yc2EAAAABIwAAAQEAxmNx2hcXLpTjuaa3yKC3B9gbF7KprP2/ 
CH8fBgMbCyIcOB+ZMQDmEnbVTqedBwV/mxjZzorEpHTM8MX2WsTjFsxwzDgcpuxm+3cwfb0WSy9Y4Kb 
F8crAsRDbBIpUZ2n/iSdRcds9nTjk6PA61kTS24RLACHpqF18vudlO5WcbCOnAwa+DdUs0Raw29UiQc 
BaC6M4YPnApq9Ayy7a6qFI2uK6efkwfLTZIDivWlIdLpRLEyuBEpozQQhEd0mrGhR/ 
Gl1GevRvFMms14130xQ4A5UpJSn6CmrRIWBkcgp1TilqDGQ1F5xZOinnc4C00gFrbT3hkkQqY5A9p 
node023,10.141.0.31 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxmNx2hcXLpTjuaa3yKC3 
B9gbF7KprP2/CH8fBgMbCyIcOB+ZMQDmEnbVTqedBwV/mxjZzorEpHTM8MX2WsTjFsxwzDgcpuxm+ 
3cwfb0WSy9Y4KbF8crAsRDbBIpUZ2n/iSdRcds9nTjk6PA61kTS24RLACHpqF18vudlO5WcbCOnAw 
a+DdUs0Raw29UiQcBaC6M4YPnApq9Ayy7a6qFI2uK6efkwfLTZIDivWlIdLpRLEyuBEpozQQhEd0m 
rGhR/Gl1GevRvFMms14130xQ4A5UpJSn6CmrRIWBkcgp1TilqDGQ1F5xZOinnc4C00gFrbT3hkkQqY5 
A9pa0lQHFkSw== 

ответ

2

Возможно, вы имеете дело с некоторыми проблемами времени ... попробуйте добавить сон в скрипт, чтобы заставить циклы занимать больше времени и посмотреть, все ли они умирают в циклах 22 и 32 ... это может быть просто время когда эти петли случаются. Если это так, вам, возможно, придется либо внести изменения в файл конфигурации sshd на сервере, в который вы входите (если у вас есть доступ), в противном случае вы всегда можете добавить конфигурацию ssh на локальном компьютере. Что-то вроде «ServerAliveInterval 5» может помочь.

+0

Thnx за вашу помощь в этой ситуации, это большой скрипт, поэтому я дам вам знать, когда он закончится. – lugte098

+0

«ServerAliveInterval 5» ничего не сделал для меня, но сон, похоже, работает, я собираюсь попробовать его и в других моих партиях, тнкс! – lugte098

+1

Ну, сон не был предназначен для «исправить» что-нибудь ... просто скажите, было ли что-то особенное в отношении чисел 22 и 32, или если «он всегда прерывает 55 минут в процессе и 80 минут» (при условии, что каждый цикл занимает 2,5 минуты) или что-то в этом роде. К сожалению, похоже, что проблема не решена и, вероятно, будет продолжаться случайным образом, мы просто показали, что она ненадежна (хотя есть небольшой шанс, что сон исправил ее, надеюсь, это так). – Dan

0

Я видел это онлайн: http://support.bb4.com/archive/200408/msg00235.html

был похож на вашу проблему. В сообщении есть еще одна ссылка на более подробную информацию о веб-сайте Big Brother.

+0

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

2

Надеюсь, это может помочь нескольким людям.

У меня было это точное сообщение об ошибке при SSHing на любой сервер. Интересно, что мне еще разрешили доступ. Я проверил все файлы ключей SSH, и они все в одной строке (что многие люди сообщили как возможную причину).

После этого я удалил комментарий от общественности RSA (== [email protected]), и это сработало! Затем я удалил эту строку из общедоступной DSA; ошибка снова появилась.

Я не знаю о ключах SSH и о том, как они работают, но это, похоже, сделало трюк для ряда серверов, к которым я обращаюсь. Итак, удалите комментарий из RSA public и оставьте его для публичного DSA.

16

Еще одна причина, почему эта проблема может произойти:

У меня была аналогичная проблема при SSHing на одном из наших серверов: он будет работать, но показывать это сообщение об ошибке странное. Решением было фактически исправить ~/.ssh/known_hosts, у которого было 2 записи для этого сервера.

+1

Спасибо - это была проблема, с которой я столкнулся. –

+0

Я встретил ту же проблему, спасибо. –

3

Я вложил содержимое id_rsa.pub из Windows в виртуальную машину Linux. Это привело к тому, что CRLF были вставлены в середину строк в нескольких местах, что было очевидно только в том случае, если я отредактировал файл с достаточно широким окном (или котенком на достаточно большом терминале). Удаление CRLF, так что все дело в одной строке исправило эту проблему.

1

Для меня это была ошибка в файле ~.ssh/known_hosts в моей папке .ssh. Я удалил все строки, чтобы получить «свежий» запуск известных хостов, и после этого я не получил никаких ошибок.

+0

Это сработало для меня, удалив только строки (строки) для хоста, в который я входил, чтобы устранить проблему. Я подозреваю, что это связано с изменением ключа хоста. – zymhan

Смежные вопросы