Назад | Перейти на главную страницу

Как я могу настроить методы аутентификации OpenSSH для каждого пользователя?

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

Возможно ли это в OpenSSH в Linux? Если да, то как мне это сделать?

После просмотра /etc/ssh/sshd_config, похоже, я ограничен включением аутентификации по ключу или использованием PAM.

В Match директива (описанная в man sshd_config) позволяет указать разные методы аутентификации для разных пользователей в одном экземпляре sshd-сервера. В качестве бонуса к перечислению отдельных пользователей и групп он также позволяет выбирать их с помощью подстановочных знаков.

Match Group wheel                # for users from group wheel:
PubkeyAuthentication
Match Group !wheel,*             # for other users:
PasswordAuthentication
# caution: don't add directives here - they will be caught by "Match" block
# (end of file /etc/ssh/sshd_config)

Можно запустить два разных экземпляра OpenSSH. Один будет настроен для PasswordAuthentication а другой для PubkeyAuthentication (каждый привязан к разному адресу). Затем AllowGroups Директива конфигурации будет использоваться для управления тем, какие группы могут использовать какой сервер.

Но я могу неправильно понять вопрос, потому что вы говорите: «Это аутентификация PAM или PublicKey». Оба могут быть включены одновременно. Они не исключают друг друга.