Я успешно использовал
ssh -q -i pubkey root@192.168.200.122 'halt'
в течение многих лет останавливать систему FreeBSD (FreeNAS) из Linux-коробки.
Внезапно из ничего это перестало работать: ssh навсегда зависает с этой командой. Так как это используется в скрипте резервного копирования, это деструктор.
Что могло случиться, что это внезапно случается? Является ли проблема более вероятной на стороне сервера (FreeBSD) или клиента (Linux). Как я могу это исправить (на стороне клиента)?
ssh
без-q
флаг.Ответы:
Проверьте настройки клиента SSH.
TCPKeepAlive
не должен быть установлен вno
для клиента.источник
Вы пробовали войти в ssh вручную?
Мое единственное предположение состоит в том, что по какой-либо причине клиент known_hosts был изменен, удален и т. Д. Или запись в нем больше не соответствует, что возможно. Если openssl был изменен (обновлен?) На стороне сервера, то запись known_hosts не будет соответствовать.
И поэтому, когда вы используете ssh, даже с pubkey, вы получите это, если known_hosts не существует:
Подлинность хоста «192.168.200.122 (192.168.200.122)» не может быть установлена. Отпечаток ключа RSA: fa: 7c: 54: 45: 70: c2: 70: f9: f2: 3c: c9: 75: 4d: 83: 10: 5b. Вы уверены, что хотите продолжить подключение (да / нет)?
И поэтому он ждет вас, чтобы принять
Или вы получите это, если оно не совпадает
test: ~ / .ssh # ssh 192.168.200.122 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ @ ПРЕДУПРЕЖДЕНИЕ: ДИСТАНЦИОННАЯ ИДЕНТИФИКАЦИЯ ХОЗЯИНА ИЗМЕНИЛАСЬ! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ ВОЗМОЖНО, ЧТО-ТО ЧТО-ТО ДЕЛАЕТ! Кто-то может подслушивать вас прямо сейчас (атака «человек посередине»)! Также возможно, что ключ хоста RSA был только что изменен. Отпечаток ключа RSA, отправленный удаленным хостом, FA: 7в: 54: 45: 70: с2: 70: f9: f2: 3в: с9: 75: 4d: 83: 10: 5b. Пожалуйста, обратитесь к системному администратору. Добавьте правильный ключ хоста в /root/.ssh/known_hosts, чтобы избавиться от этого сообщения. Ключ оскорбления в /root/.ssh/known_hosts:1 Ключ хоста RSA для 192.168.200.122 изменился, и вы запросили строгую проверку. Ошибка проверки ключа хоста. test: ~ / .ssh #
Так что попробуйте это вручную. Если он не существует, вам нужно будет принять его, и тогда будет создана запись known_hosts, а затем в следующий раз, когда вы ssh, все будет хорошо.
Если он не совпадает, отредактируйте ~ / .ssh / known_hosts и удалите запись для этого хоста. Затем, когда вы снова подключитесь по ssh, примите его и создайте заново запись known_hosts.
Единственное, что я могу думать о макушке. Надеюсь, что это так!
источник