Как защитить SSH на VPS

Настройка SSH-ключей, отдельного пользователя, firewall и безопасное отключение входа root по паролю.

Начальный пароль удобен для первого входа, но постоянный сервер лучше перевести на SSH-ключи. Изменяйте настройки поэтапно и держите открытую рабочую сессию до проверки нового входа.

1. Создайте ключ

bash
ssh-keygen -t ed25519 -a 64

Задайте пароль для приватного ключа. Файл с расширением .pub можно передавать на сервер, приватный ключ нельзя отправлять никому.

2. Создайте отдельного пользователя

bash
adduser adminuser
usermod -aG sudo adminuser
install -d -m 700 -o adminuser -g adminuser /home/adminuser/.ssh

Добавьте публичный ключ в /home/adminuser/.ssh/authorized_keys и установите права 600.

3. Проверьте новый вход

bash
ssh adminuser@203.0.113.10
sudo -v

4. Отключите вход по паролю

Создайте отдельный файл /etc/ssh/sshd_config.d/99-hardening.conf:

text
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
bash
sshd -t && systemctl reload ssh

Сначала проверяйте конфигурацию через sshd -t. При ошибке команда reload не должна выполняться.