2

У меня есть сервер в Интернете с ssh-сервером. Я пытаюсь настроить ssh (отредактировав файл /etc/ssh/sshd_config ). После редактирования мне нужно перезапустить ssh. Но однажды я допустил опечатку / синтаксическую ошибку в файле, и ssh-сервер не запустился. Я не могу вернуться обратно, потому что нет связи с машиной.

Есть ли способ предоставить резервный файл конфигурации (который автоматически выбирается при ошибке) или любой другой способ предотвратить блокировку себя с сервера?

Единственный найденный мной способ - это подключиться через FTP и отредактировать файл, но простой FTP небезопасен, а SFTP использует ssh, так что это только небезопасное решение.

2 ответа2

4

Нет необходимости в резервной конфигурации, если вы тестируете ее правильно, т.е.

  1. Быть подключенным к системе через SSH
  2. Измените конфигурацию сервера SSH.
  3. Протестируйте конфигурацию, используя опцию -t или -T в sshd.
  4. Перезапустите sshd, оставаясь подключенным. Это не закроет текущее соединение.
  5. Попробуйте создать второе соединение с сервером. Если это не удается, у вас все еще есть активное первое соединение для переустановки и проверки предыдущей конфигурации.
0
screen -x
cd /etc/ssh
cp sshd_config sshd_config_orig
vim sshd_config
sshd -t
systemctl restart sshd; mv sshd_config sshd_config_attempt; mv sshd_config_orig sshd_config

Затем оставайтесь на связи, но откройте новый терминал и используйте новый новый ssh-клиент для проверки нового соединения.

Если вы уверены, что он работает правильно:

rm sshd_config; mv sshd_config_attempt sshd_config

Если вы не удовлетворены тем, что он работает правильно:

systemctl restart sshd

Если по какой-то странной случайности вы потеряли соединение во время этого теста, перезагрузите удаленный сервер с управлением ipmi или гипервизором, и он загрузится со старой известной рабочей конфигурацией.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .