Pull to refresh

Двухфакторная Авторизация на Linux сервере

Reading time1 min
Views6.5K
В статье описана установка под 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.
Tags:
Hubs:
+9
Comments17

Articles