В статье описана установка под Ubuntu. Используется приложение от Google.
Ставить google-authenticator надо из исходников, мы же не доверяем левым PPA? Для этого потребуется git, build-essential, libpam0g-dev, checkinstall.
Все, все подготовлено для настройки.
Надо сконфигурировать sshd (/etc/ssh/sshd_config)
Перезапустить sshd (текущая сессия не будет разорвана):
Для настройки пользователя надо запустить google-authenticator от каждого пользователя. Там будет выведен секретный ключ для приложения, а так же ссылка на QR код который можно просканировать приложением. Приложение спросит email — это никак не влияет на OTP, это исключительно для вашего удобства, можно ввести user@host.
Установка зависимостей
Ставить 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.