Рейтинг:1

Нужна помощь по аутентификатору google на ubuntu

флаг cn

У меня Ubuntu 20.04.3 LTS, где я успешно установил аутентификатор Google для аутентификации MFA, теперь мне нужна помощь на этапах аутентификации, моя цель такова:

  1. Если у пользователя нет ssh-ключа, то при подключении по SSH пользователь должен сначала ввести свой пароль, а затем ввести ключ подтверждения Google, чтобы получить доступ к системе.

  2. Если у пользователя есть ssh-ключ, то пароль вводить не нужно, но нужно ввести ключ подтверждения Google.

Теперь это возможно, если да, то какие настройки мне нужно сделать в /etc/ssh/sshd_config и /etc/pam.d/sshd

Вот мой существующий /etc/pam.d/sshd конфигурация

# Стандартное обновление пароля Un*x.
@include общий пароль

# Стандартная аутентификация Un*x.
@include общая аутентификация

# Стандартная аутентификация Un*x.
требуется авторизация pam_google_authenticator.so nullok user=root secret=/root/totp/${USER}
требуется авторизация pam_permit.so

А вот /etc/ssh/sshd_config файл

ВызовОтветАутентификация да
ИспользоватьPAM да
PubkeyAuthentication да
Файл авторизованных ключей .ssh/authorized_keys
Разрешить RootLogin да
ПарольАутентификация нет
Методы аутентификации с открытым ключом, интерактивной клавиатурой
Рейтинг:0
флаг cn
Tom

Предполагая, что у вас все установлено правильно, т.е. Установлено с:

sudo apt-get установить libpam-google-authenticator

И получил код с

Google-аутентификатор

И есть код в вашей домашней папке по адресу

лс /home/$USER/.google_authenticator

Затем вы должны добавить следующие две строки в ваш файл /etc/pam.d/sshd.

...

# Стандартное обновление пароля Un*x.
@include общий пароль
требуется авторизация pam_google_authenticator.so
требуется авторизация pam_permit.so

...

Или если вы хотите, чтобы MFA был необязательным для некоторых пользователей

...

# Стандартное обновление пароля Un*x.
@include общий пароль
требуется авторизация pam_google_authenticator.so nullok
требуется авторизация pam_permit.so

...

В вашем файле /etc/ssh/sshd_config измените:

ВызовОтветАутентификация да

Затем:

sudo systemctl перезапустить sshd.service

При тестировании не убивайте ваше ssh-соединение запустите новый, если вы настроите неправильно, вы можете быть заблокированы

флаг cn
Привет Том, ты полностью прочитал мой вопрос?, уже есть такие же настройки, тогда что отличается в твоем ответе?
Tom avatar
флаг cn
Tom
Привет Умар, просто пытался сделать вопрос общим, чтобы помочь многим людям. У меня не установлены AuthenticationMethods. Это не требуется на самом деле. Но я бы сказал, что это должно быть больше похоже на открытый ключ AuthenticationMethods, открытый ключ пароля, интерактивная клавиатура.
флаг cn
Это все еще не то, чего я хочу, я думаю, что ясно упомянул, что если у пользователя есть ключ ssh в его файлах author_keys, то Ubuntu сначала проверяет ключ, а затем просто просит его ввести код подтверждения Google, и если у пользователя нет ключа ssh, тогда Ubuntu должен сначала попросить его ввести пароль, а после проверки пароля просто попросить ввести код подтверждения Google ...
Tom avatar
флаг cn
Tom
Это невозможно сделать с помощью модуля pam. Ключ ssh переопределяет все и поэтому никогда не будет вызывать модуль pam. Чтобы использовать модуль pam и ключ ssh, вы должны отключить аутентификацию по паролю.
флаг cn
Это то, что я хочу подтвердить от кого-то, поэтому то, что я хочу, невозможно

Ответить или комментировать

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