Инженерные заметки
Серверы

Безопасная настройка SSH

Ключи, отключение паролей, ограничение доступа и безопасное применение изменений.

· 7 мин чтения

Модель угроз

Открытый SSH-порт постоянно сканируется. Цель настройки — убрать слабые места: пароли, вход под root и лишних пользователей.

Вход по ключам

bash
ssh-keygen -t ed25519 -C "workstation"
ssh-copy-id user@server.example.com

Ключи Ed25519 компактны и надёжны. Закрытый ключ защищайте парольной фразой и не копируйте на другие машины без необходимости.

Конфигурация sshd

Параметры лучше выносить в отдельный файл /etc/ssh/sshd_config.d/10-hardening.conf.

ini
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
AllowUsers deploy admin
MaxAuthTries 3

AllowUsers явно перечисляет разрешённых пользователей, остальные не войдут даже с верным ключом.

Безопасное применение

Внимание. Не закрывайте текущую сессию, пока не проверите вход во второй. Ошибка в настройках может лишить вас доступа к серверу.
bash
sudo sshd -t
sudo systemctl reload ssh
# в новом терминале:
ssh user@server.example.com

Дополнительные меры

Ограничьте доступ по адресам на файрволе, настройте fail2ban или аналог для блокировки подбора, регулярно обновляйте пакеты. Смена порта уменьшает шум в логах, но не заменяет остальные меры.

Вывод

Ключи, запрет паролей и root-входа, список пользователей и проверка через вторую сессию закрывают основные риски SSH без сложной инфраструктуры.

Связанные статьи

Серверы

Nginx как reverse proxy

Проксирование приложения через Nginx: заголовки, таймауты, WebSocket и проверка конфигурации.

20.10.20268 минЧитать