sshd_config
PermitRootLogin
Параметр PermitRootLogin
у конфігураційному файлі SSH (/etc/ssh/sshd_config
) визначає, чи дозволено вхід на сервер по SSH безпосередньо під користувачем root
.
Формат:
PermitRootLogin yes|no|prohibit-password|without-password|forced-commands-only
Значення:
yes
Дозволяє прямий вхід по SSH під root (з паролем або ключем). Небезпечно.
no
Забороняє будь-який вхід під root через SSH.
prohibit-password
Забороняє вхід з використанням пароля, але дозволяє вхід з ключем SSH. (заміна without-password
з OpenSSH 7.0+)
without-password
Те саме, що prohibit-password
(застаріле, але ще підтримується).
forced-commands-only
Дозволяє root входити лише якщо ключ має примусову команду (command="..."
у authorized_keys
).
Приклад:
PermitRootLogin prohibit-password
Root зможе заходити лише за наявності SSH-ключа. Пароль не приймається.
Безпечна практика
Рекомендується:
PermitRootLogin prohibit-password
або повністюno
.Краще:
Відключити root-доступ по SSH (
PermitRootLogin no
)Використовувати звичайного користувача з правами
sudo
Обов'язково використовувати SSH-ключі замість пароля
Перевірка / застосування змін:
Після редагування sshd_config
, перевір синтаксис:
sshd -t
І перезапусти службу:
systemctl restart ssh
PasswordAuthentication
Параметр PasswordAuthentication
у конфігураційному файлі SSH (/etc/ssh/sshd_config
) визначає, чи дозволено автентифікацію за паролем для SSH-клієнтів.
Формат:
PasswordAuthentication yes|no
Значення:
yes
Дозволяє автентифікацію за паролем. Користувачі можуть входити, вводячи свій пароль.
no
Забороняє автентифікацію за паролем. Тільки ключі SSH або інші методи (наприклад, GSSAPI, Kerberos).
Приклад:
PasswordAuthentication no
Це означає, що всі спроби входу з паролем будуть відхилені. Користувач повинен мати SSH-ключ.
Взаємодія з іншими параметрами:
PermitRootLogin
: якщо дозволений доступ root, тоPasswordAuthentication
контролює, чи можна входити root'ом з паролем.ChallengeResponseAuthentication
: має бути тежno
, якщо ти хочеш повністю вимкнути всі паролі.UsePAM
: якщо ввімкнено (yes
), PAM може впливати на поведінкуPasswordAuthentication
.
Безпечна практика:
В безпечному серверному середовищі рекомендується:
PasswordAuthentication no PermitRootLogin prohibit-password
Це означає:
Вхід тільки за допомогою SSH-ключів
Навіть root не зможе зайти по паролю
Інші користувачі — лише з ключами
Після змін:
sshd -t # перевірка синтаксису
systemctl restart ssh
Хочеш приклад повністю захищеного фрагмента sshd_config
з ключовими параметрами?
Last updated