в openssh вы можете ограничить вход в систему root (PermitRootLogin нет), но может ли он иметь исключение?
1 ответ
Учитывая, что вход в систему как root не является хорошей идеей, взгляните на man-страницу sshd:
PermitRootLogin
Указывает, может ли root войти в систему с помощью ssh(1). Аргумент должен быть `` yes '', `` без пароля '', `` принудительно-только для команд '' или `` нет ''. По умолчанию это `` да ''.
Если для этой опции задано `` без пароля '', аутентификация пароля отключена для пользователя root.
Если для этой опции задано значение `` принудительная команда-только '', будет разрешен вход в систему root с аутентификацией с открытым ключом, но только если была указана опция команды (что может быть полезно для создания удаленных резервных копий, даже если вход в систему root обычно не позволил). Все остальные методы аутентификации отключены для root.
Если эта опция установлена на `` no '', root не может войти в систему.
Таким образом, вы можете использовать PermitRootLogin without-password
чтобы разрешить аутентификацию с закрытым / открытым ключом и запретить аутентификацию по паролю; или, возможно, PermitRootLogin forced-commands-only
для команд позволяет вам войти в систему как root, но без интерактивного доступа.
В последнем случае требуется отредактировать файл authorized_keys
, чтобы указать, какая команда включена для регистрации пользователя, например, так:
command="rdiff-backup --server" ssh-rsa AAAAB3NzaC1y... (rest of key)
или, что еще лучше, разрешите вход в систему только для принудительных команд только с определенного IP-адреса:
from="10.1.1.1",command="/home/user/command/to/execute" ssh-rsa AAAAB3NzaC1y... (rest of key)