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


0

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

ssh -q -i pubkey root@192.168.200.122 'halt'

в течение многих лет останавливать систему FreeBSD (FreeNAS) из Linux-коробки.

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

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


Что изменилось на стороне сервера / клиента, когда он перестал работать?
mpy

Ничего из того, что я знаю ;-) В противном случае, я бы все перевернул и попробовал ...
divB

Попробуйте запустить ssh без -q флаг.
Roland Smith

Ответы:


0

Проверьте настройки клиента SSH. TCPKeepAlive не должен быть установлен в no для клиента.


0

Вы пробовали войти в ssh вручную?

ssh -i pubkey root@192.168.200.122

Мое единственное предположение состоит в том, что по какой-либо причине клиент 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.

Единственное, что я могу думать о макушке. Надеюсь, что это так!


К сожалению нет. Это также происходит, когда я делаю это вручную. Я даже не могу убить сессию SSH тогда с помощью CTRL + C. Я могу использовать только CTRL + K в моем сеансе экрана, чтобы убить полное окно. И логин и т. Д. Определенно успешен. Я могу успешно выполнить команду «остановить». Таким образом, кажется, что машина действительно остановлена ​​(я не могу проверить, потому что это удаленная коробка), но для SSH нет тайм-аута или около того ...
divB

Итак, машина останавливается, но вы хотите, чтобы ваш сеанс SSH завершился? Это интересно. Я думаю, что все это может сделать это. Ты в порядке с остановкой в ​​фоновом режиме? Может быть, я неправильно понимаю вопрос. Таким образом, команда, которую вы запускаете, это 'halt & amp;' ?
ben

Я просто хочу остановить систему через SSH, да. (и это всегда работало до сих пор). Конечно, в фоновом режиме можно найти, но '& amp;' Я не думаю, потому что он получает HUP в любом случае.
divB
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.