В файле /etc/ssh/sshd_config прописываем:
AddressFamily inet - Только IPv4 — отключает IPv6, если он не используется. Избегаем лишних точек
LoginGraceTime 20 - 20 секунд на попытку логина, на грани между удобством и безопасностью
PasswordAuthentication по - Отключаем вход по паролю — только ключи безопасно
PermitEmptyPasswords no - Запрещаем пустые пароли
PermitRootLogin по - Вход под root запрещён
GatewayPorts по - Проброс портов (ssh -R) наружу запрещён
AllowTcpForwarding по - Запрет проброс портов (ssh -L) от клиента
MaxAuthTries 2 - Ограничиваем число попыток входа — защита от перебора
PubkeyAuthentication yes - Вход только по публичному ключу
AuthorizedKeysFile .ssh/authorized_keys2 - Используется только один файл с ключами
UsePAM yes - РАМ включён — нужен Fail2ban и обработка сессий
X11Forwarding по - X11-переадресация отключена
PrintMotd по - Не показываем MOTD (сообщение дня)
AcceptEnv LANG LC_* - Разрешаем передавать переменные окружения LANG и LC_*
systemctl restart sshd
Авторизация по ключу
Отключаем авторизацию по паролю и используем только авторизацию по ключу. В конфигурационном файле sshd вам надо изменить только несколько строк:
PubkeyAuthentication замените значение yes:
ChallengeResponseAuthentication, PasswordAuthentication, UsePAM на no.
Comments powered by CComment