Сервер с Ubuntu 22
Подготовка сервера
#sudo apt-get install libpam-google-authenticator
./etc/ssh/sshd_config
Проверить параметр UsePAM yes
В Ubuntu 22 параметр KbdInteractiveAuthentication yes
В Ubuntu до 20 включительноChallengeResponseAuthentication yes
Рестартовать sshd:
#sudo systemctl restart ssh
В файле./etc/pam.d/sshd после строчки @include common-auth добавить строкиauth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-local.conf
auth required pam_google_authenticator.so echo_verification_code nullok
Создать файл /etc/security/access-local.conf с содержимым:
#Two-factor can be skipped on local network
+ : ALL : 192.168.0.0/23
+ : ALL : 127.0.0.1
+ : ALL : LOCAL
- : ALL : ALL
#empty line at the end!!!
Теперь в профиле пользователя (а если не можем войти в систему от его имени, тогда выполнив sudo su USERNAME) выполняем#google-authenticator
На ‘Enter code from app’ отвечаем ‘-1’
На остальные вопросы отвечаем ‘y’
Получаем на экране QR-код, текстовое значение секретного кода и несколько одноразовых кодов. Запоминаем их.
Пользователь должен установить на смартфоне приложение Google Authenticator из магазина приложений.
В приложении завести учетную запись, ввести секретный код (с помощью qr-кода или введя строку).