Сначала запасной вход
На удалённом сервере главный риск настройки SSH — случайно закрыть доступ самому себе. Поэтому начинать стоит с резервной копии настроек и открытой второй SSH-сессии. Если есть консоль в панели VPS, проверьте, что она действительно открывается.
sudo cp /etc/ssh/sshd_config \
/etc/ssh/sshd_config.bak
Проверьте авторизацию по ключу
На локальном компьютере создайте ключ, если его ещё нет. Современный вариант для большинства систем — Ed25519.
ssh-keygen -t ed25519 -C "laptop"
ssh-copy-id user@server.example.com
Откройте новую сессию и убедитесь, что вход по ключу работает. Не закрывайте текущую сессию, пока новая не подключилась успешно.
Убирайте лишнее постепенно
Когда вход по ключу подтверждён для административного пользователя, можно обдумать запрет паролей и прямого входа root. Убедитесь, что никакой автоматизированный процесс не зависит от прежних настроек.
sudo sshd -t
sudo systemctl reload sshd
На Debian/Ubuntu имя сервиса иногда ssh, а не sshd. Команда sshd -t должна завершиться без ошибок ещё до перезагрузки службы.
Что ещё полезно
- Ограничить доступ к административному порту доверенными адресами, если это позволяет схема подключения.
- Обновлять OpenSSH вместе с системными пакетами.
- Периодически пересматривать список ключей в
~/.ssh/authorized_keys. - Хранить резервные ключи отдельно от основного рабочего устройства.
Хорошая настройка доступа — та, которую вы можете не только включить, но и безопасно восстановить после ошибки.