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