Корень разрешения для входа в систему через ssh только с основанной на ключе аутентификацией

dir не команда стандарта Unix, но вероятно просто своего рода псевдоним/клон для предоставления некоторому знакомству Windows (DOS) пользователи (и возможно VAX-VMS и другие Ose, где dir использовался для списка файлов).

52
08.11.2013, 22:38
3 ответа

Можно сделать это использование PermitRootLogin директива. От sshd_config страница справочника:

Указывает, может ли корень войти в систему с помощью ssh (1). Аргумент должен быть “да”, “без паролей”, “forced-commands-only”, или "нет". Значение по умолчанию - “да”.

Если эта опция установлена на аутентификацию по паролю “без паролей”, отключен для корня.

Следующее выполнит то, что Вы хотите:

PasswordAuthentication yes
PermitRootLogin without-password
82
27.01.2020, 19:33
  • 1
    я попробовал это на Debian и проверил с service ssh restart на сервере и затем на клиенте я пытался соединиться без своего ключа с ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@host и действительно не мог войти в систему с паролем, но мог с ключом для пользователя root. –  bastian 18.07.2016, 13:08
  • 2
    Да, но если Вы просто делаете это вместо этого, затем можно войти в систему с паролем: ssh -o PreferredAuthentications=password root@host не особенно безопасный, по моему скромному мнению –  geoidesic 30.04.2018, 23:12

Можно использовать Match блоки для конфигурирования некоторых опций на пользователя или аутентификацию группы или на IP-адрес или имя хоста источника соединения.

PasswordAuthentication yes
PermitRootLogin yes

Match User root
PasswordAuthentication no
10
27.01.2020, 19:33
  • 1
    мне удалось заблокировать меня из моего ssh сервера, делающего это. –  Richard Metzler 31.01.2016, 15:07
  • 2
    Это кажется лучшим методом, если Вы никогда не хотите, чтобы подсказка пароля появилась для корня. –  Leo 16.04.2016, 03:58
  • 3
    Это также заблокировало меня. Я думаю, что это могло бы быть в неправильном порядке... –  Gary 21.06.2016, 00:48

У меня есть еще более строгий подход для предоставления полномочий пользователя root на моем сервере, который мог бы быть интересным для параноидальных как я. Будьте осторожны, что Вы делаете и в котором порядке, иначе Вы могли бы закончить с системой, Вы не можете надеть корневой доступ.

  • Создайте определенную группу sugroup, тому, кто участники, позволят стать корнем и только позволить ключевую аутентификацию для этой группы путем помещения следующих строк в конце sshd_confid:

Match Group sugroup

PasswordAuthentication no

  • Поместите команду auth required pam_wheel.so group=sugroup в /etc/pam.d/su. Это уже могло бы быть там, и просто необходимо не прокомментировать это. Это запрещает корневого доступа всем пользователям не член sugroup
  • Выберите сильный пароль root :)
  • Проверьте, работает ли Ваш новый метод аутентификации, и только если:
  • Отклоните прямой корневой вход в систему через ssh при помощи PermitRootLogin no в /etc/ssh/sshd_config.

Используя эту конфигурацию необходимо использовать ключевую аутентификацию и пароль для становления корнем. Я настроил свой сервер как это, так как я предпочитаю не иметь никакого прямого корневого доступа через ssh, независимо от метода аутентификации.

4
27.01.2020, 19:33

Теги

Похожие вопросы