У меня есть некоторые сомнения по поводу некоторых конфигураций сервера SSH /etc/ssh/sshd_config
. Я хочу следующее поведение:
- Аутентификация с открытым ключом - это единственный способ аутентификации как root (без аутентификации по паролю и т. Д.)
- Обычные пользователи могут использовать оба (пароль и аутентификация с открытым ключом)
Если я поставлю PasswordAuthentication no
свою первую точку удовлетворен, но не второй. Есть способ установить PasswordAuthentication no
только для root?
ssh
authentication
mavillan
источник
источник
service ssh restart
на сервере, а затем на клиенте, с которым пытался подключиться без ключаssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@host
и действительно не смог войти с паролем, но смог с ключом для пользователя root.ssh -o PreferredAuthentications=password root@host
не особо безопасный imhoВы можете использовать
Match
блоки для настройки некоторых параметров аутентификации пользователя или группы, IP-адреса или имени хоста источника соединения.источник
У меня есть еще более строгий подход к предоставлению привилегий root на моем сервере, что может быть интересно для таких параноиков, как я. Будьте осторожны в том, что вы делаете и в каком порядке, иначе вы можете получить систему, к которой у вас нет прав root.
sugroup
, членам которой будет разрешено стать пользователем root и разрешить только аутентификацию по ключу для этой группы, поместив следующие строки в конце sshd_confid:Match Group sugroup
PasswordAuthentication no
auth required pam_wheel.so group=sugroup
в/etc/pam.d/su
. Это может быть уже там, и вам просто нужно раскомментировать. Это запрещает root-доступ всем пользователям, не входящим в sugroup.PermitRootLogin no
in/etc/ssh/sshd_config
.При использовании этой конфигурации необходимо использовать ключ аутентификации и пароль, чтобы стать пользователем root. Я настроил свой сервер следующим образом, так как я предпочитаю не иметь прямого корневого доступа через ssh, независимо от способа аутентификации.
источник