SSH зависает при остановке удаленной системы

SSH зависает при остановке удаленной системы

Я успешно использовал

ssh -q -i pubkey [email protected] 'halt'

уже много лет не могу остановить систему FreeBSD (FreeNAS) на Linux-компьютере.

Вдруг, из ничего, это перестало работать: ssh зависает навсегда с этой командой. Поскольку это используется в скрипте резервного копирования, это катастрофа.

Что могло случиться, что это вдруг произошло? Проблема скорее на стороне сервера (FreeBSD) или клиента (Linux). Как мне это исправить (на стороне клиента)?

решение1

Проверьте конфигурацию вашего клиента SSH. Для клиента TCPKeepAliveне должно быть установлено значение .no

решение2

Вы пробовали вручную подключиться по ssh?

ssh -i pubkey [email protected]

Единственное, что я предполагаю, это то, что по какой-то причине known_hosts клиента был изменен, удален и т. д. Или запись в нем больше не совпадает, что возможно. Если openssl был изменен (обновлен?) на стороне сервера, то запись known_hosts не будет соответствовать.

И поэтому, когда вы подключаетесь по ssh, даже с открытым ключом, вы получите это, если 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, отправленного удаленным хостом, fa:7c:54:45:70:c2:70:f9:f2:3c:c9: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.

Единственное, что приходит мне на ум. Надеюсь, это оно!

Связанный контент