2-х Факторная Авторизация на Linux сервере

в 2:18, , рубрики: linux, otp, security, ssh, метки: , , ,

В статье описано установка под Ubuntu. Используется приложение от Google.

Установка зависимостей

Ставить google-authenticator надо из исходников, мы же не доверяем левым PPA? Для этого потребуется git, build-essential, libpam0g-dev, checkinstall.

git clone https://code.google.com/p/google-authenticator/
cd libpam/
make
sudo checkinstall -D
sudo dpkg -i libpam_20120827-1_i386.deb

Все, все подготовлено для настройки.

Настройка

# Требовать One Time Password  ля любого рода авторизации
echo "auth required pam_google_authenticator.so" >> /etc/pam.d/common-auth 
# Требовать только для входа по SSH. Внимание, авторизация по public key идет в обход PAM, а значит OTP не будет спрошен.
echo "auth required pam_google_authenticator.so" >> /etc/pam.d/sshd
# Такая установка требует, чтобы пользователь был предварительно сконфигурирован. Если написать
auth required pam_google_authenticator.so nullok
# то OTP не будет спрошен у не подготовленных пользователей 

Надо сконфигурировать sshd (/etc/ssh/sshd_config)

ChallengeResponseAuthentication yes 

Перезапустить sshd (текущая сессия не будет разорвана)

/etc/init.d/ssh restart

Для настройки пользователя надо запустить google-authenticator от каждого пользователя. Там будет выведен секретный ключ для приложения, а так же ссылка на QR код который можно просканировать приложением. Приложение спросит email — это никак не влияет на OTP, это исключительно для вашего удобства, можно ввести user@host.

Автор: Zelgadis

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js