Есть ли какая-нибудь резервная копия для конфигурации ssh, чтобы откатиться на ошибку?

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

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

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

2 ответа

Решение

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

  1. Быть подключенным к системе через SSH
  2. Измените конфигурацию сервера SSH.
  3. Проверьте конфигурацию, используя -t или же -T вариант сшд.
  4. Перезапустите sshd, оставаясь подключенным. Это не закроет текущее соединение.
  5. Попробуйте создать второе соединение с сервером. Если это не удается, у вас все еще есть активное первое соединение для переустановки и проверки предыдущей конфигурации.
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 или гипервизором, и он загрузится со старой известной рабочей конфигурацией.

Другие вопросы по тегам