Есть ли способ запустить скрипт, например:
cp /etc/ssh/sshd_config.orginal /etc/ssh/sshd_config
reboot
, если мой /etc/ssh/sshd_config не работает?
Ну, иногда, когда я редактирую файл, мне не удается получить ssh-соединение с моим пользователем root мой компьютер.
В настоящее время, когда я редактирую файл, я включаю cron:
*/10 * * * * /usr/bin/ssh_replace.sh
, который запускает сценарий выше, но это очень напряженно, поскольку я должен отключить его, когда закончил и начал, когда я хочу начать редактирование.
SSH запускается с использованием Upstart и использует параметр Upstart respawn, чтобы перезапустить его, когда процесс умирает. Поэтому вы можете попытаться обнаружить, когда задание SSH достигло предела респауна, и перезаписать конфигурацию с хорошо известной. Например:
# cat /etc/init/ssh-safe.conf
start on stopped ssh RESULT="failed" PROCESS="respawn"
script
cp /etc/ssh/sshd_config.original /etc/ssh/sshd_config
start ssh RESTARTED_BY_WATCHDOG=1 || true
end-script