Поэтому время от времени я делаю изменения в файле sshd-config и что-то ломаю, потому что я забываю проверить это с помощью sshd -t . Для ее исправления часто требуется, чтобы я подошел и подключился к машине, а в случае безголового Raspi вытащил SD-карту и закрепил ее на моем ПК. Что утомительно, если не сказать больше.

Каковы хорошие "лучшие практики" способы предотвратить это? Я думал, может быть, сценарий резервного копирования, который запускается каждые 10 минут и заменяет ssh-config файлом резервной копии, если он сломан и если sshd-служба отключена; или что-то типа того. Есть ли лучший и безопасный способ сделать это?

1 ответ1

0

Одним из способов будет создание вторичного sshd прослушивающего другой порт и использующего другой файл конфигурации.

Во-первых, создайте файл модуля /etc/systemd/system/ssh-backup.service с содержимым

[Unit]
Description=OpenBSD Secure Shell server (Backup)
After=network.target auditd.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run

[Service]
EnvironmentFile=-/etc/default/ssh
ExecStartPre=/usr/sbin/sshd -t -f /etc/ssh/sshd_backup_config
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS -f /etc/ssh/sshd_backup_config
ExecReload=/usr/sbin/sshd -t -f /etc/ssh/sshd_backup_config
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255
Type=notify

[Install]
WantedBy=multi-user.target
Alias=sshd-backup.service

Если вы планируете изменить /etc/default/ssh , вы можете захотеть, чтобы два демона использовали разные файлы окружения.

Создайте вторичную конфигурацию sshd в /etc/ssh/sshd_backup_config порт, отличный от 22.

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

systemctl daemon-reload
systemctl enable --now ssh-backup.service

перезагрузить и запустить сервис.

Демон, работающий на другом порту, вообще не добавляет безопасности. Вам нужно убедиться, что демон ssh по крайней мере так же безопасен, как и основной, если не более безопасен, так как им пренебрегают.

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