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

У меня есть некоторые сомнения относительно некоторых конфигураций ssh-сервера на /etc/ssh/sshd_config . Я хочу следующее поведение:

  1. Аутентификация открытого ключа – это единственный способ аутентификации как root (аутентификация без пароля)
  2. Обычные пользователи могут использовать как (пароль, так и аутентификацию с открытым ключом)

Если я установил PasswordAuthentication no моя первая точка не будет удовлетворена, но не вторая. Есть ли способ установить PasswordAuthentication no только для root?

  • Доступ к локальному репо через скачок с помощью SSH
  • Постоянное фоновое соединение ssh для создания обратного туннеля: что правильно?
  • Как перенаправить порт по (под) доменному имени?
  • Захват ответа с использованием команды SSH
  • Дистанционное доступное Live-распространение (aka Live CD)
  • Избегайте захвата с помощью ssh ProxyCommand
  • Автоматические фоновые процессы
  • предоставление пароля для ssh
  • 3 Solutions collect form web for “Разрешить root для входа через ssh только с аутентификацией на основе ключа”

    Вы можете сделать это, используя директиву PermitRootLogin . На sshd_config справки sshd_config :

    Указывает, может ли root войти в систему, используя ssh (1). Аргумент должен быть «да», «без пароля», «принудительные команды только» или «нет». Значение по умолчанию – «да».

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

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

     PasswordAuthentication yes PermitRootLogin without-password 

    Вы можете использовать блоки соответствия, чтобы настроить некоторые параметры для проверки подлинности каждого пользователя или группы или для каждого IP-адреса или имени узла происхождения соединения.

     PasswordAuthentication yes PermitRootLogin yes Match User root PasswordAuthentication no 

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

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

    Match Group sugroup

    PasswordAuthentication no

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

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

    Interesting Posts

    Как сделать этот цикл Ctrl + C-прерывистым?

    Могу ли я установить PHP на Chumby One?

    Ошибка при попытке установить KVM на CentOS

    В чем разница между IP-адресом машины и локальным хостом

    Перейти к следующему помеченному сообщению в Mutt

    Как я могу захватить два поля в awk из разных строк записи с несколькими строками?

    zsh expand-or-complete для всех файлов независимо от команды / контекста

    Почему альса звучит поп, треск и вообще слишком искажен, чтобы слушать?

    Сравните две записи файлов, чтобы найти идентичные файлы, но игнорировать расширения

    Как установить права доступа по умолчанию для всех папок / файлов в каталоге?

    Как получить IP-адрес хоста из nat виртуального бокса?

    vim: выполнить BundleInstall без отображения интерфейса vim

    Каков параметр «i» команды set в оболочке bash?

    Как открыть файл с заменой процесса из php?

    Как изменить пользователя с аутентификацией внутри сценария оболочки

    Linux и Unix - лучшая ОС в мире.