В связи с обрастанием домашнего компа всякими примочками в стиле умного дома пришлось задуматься о его защищенности. Т.к. мне нравится двухэтапная авторизация на google проектах, хотелось чего-то подобного... и оно нашлось =)
Google Authenticator, работающий по принципу зависимых от времени одноразовых паролей (TOTP), можно легко установить на свой комп и повесить, например, на SSH. Понадобится всего несколько телодвижений.
Если в репах дистрибутива Google Authenticator, его можно слить со страницы Google Authenticator-a и скомпилить самому.
Для ubuntu все выглядит проще:
sudo apt-get install libpam-google-authenticator
После установки его надо активировать, например для SSH.
Логинимся под пользователем, который используется для входа по SSH и в консоли выполняем
google-authenticator
чтобы создать ключ для этого пользователя. Разрешаем изменение настроек вводя "Y", отвечаем на несколько несложных вопросов вроде времени действия токена и количества попыток ввода.
После всего этого Google Authenticator выдаст баркод для синхронизации мобильного приложения Authenticator-a (есть на Android, iOS, Blackberry). Открываем приложение, сканируем баркод, работаем.
Если баркод считать нет возможности, чуть ниже будет идти секретный ключ, который нужно вбить в настройках приложения - добавляем аккаунт, пишем название, переписываем секретный ключ, тип выбираем Time based.
Все, мобильное приложение готово, осталось донастроить SSH.
Для этого нужно добавить строчку в наш sshd (sudo nano /etc/pam.d/sshd в консоли):
auth required pam_google_authenticator.so
и подредактировать конфиг ssh (sudo nano /etc/ssh/sshd_config), разрешив ChallengeResponseAuthentication:
ChallengeResponseAuthentication yes
Если такой строчки там нет, нужно ее добавить.
Рестартим ssh
sudo service ssh restart
и наслаждаемся =)
Теперь, при логине по ssh, после запроса пароля будет появляться еще одна строчка "Verification code:", в которую и нужно вводить код из мобильного приложения.
Комментариев нет:
Отправить комментарий