# Запретить SSH-вход под root **Приоритет:** средний `playbook-system.yml:34` переопределяет дефолт роли на `security_ssh_permit_root_login: "yes"` → `PermitRootLogin yes`. Это управляет **только** тем, пускать ли root по SSH, и не имеет отношения к паролю: вход по паролю уже запрещён отдельной директивой `PasswordAuthentication no` (дефолт роли `security_ssh_password_authentication: "no"`, не переопределён). То есть брутфорса пароля тут нет — остаётся то, что root **явно разрешён к входу по ключу**. Почему всё равно стоит закрыть: - **Наименьшие привилегии.** Ansible ходит под непривилегированным `major` с `become` (`production.yml`/`timeweb.yml`), root-логин для деплоя не нужен вовсе. - **Defense-in-depth.** Если `PasswordAuthentication` когда-нибудь вернётся в `yes` (правка, `Match`-блок, чужая роль), `PermitRootLogin yes` тут же откроет root по паролю. `prohibit-password` держит root key-only независимо. Рекомендация: поставить `"no"` (root по SSH недоступен, деплой под `major` не страдает). Если нужен аварийный вход root по ключу — `"prohibit-password"`. Из sec-ревью (fable, 2026-07-13); мотивировка уточнена после проверки конфига. Связано: playbook-system.yml, production.yml, timeweb.yml, galaxy.roles/geerlingguy.security.