Ssh и google-authenticator
Перейти к навигации
Перейти к поиску
Настраиваем на Debian.
Устанавливаем:
# apt install libpam-google-authenticator
Затем под пользователем под которым требуется второй фактор:
$ google-authenticator Do you want authentication tokens to be time-based (y/n) y
Добавляем QR-код в Google Authenticator на телефоне и сохраняем ссылку и (или) QR-код в надежное место на случай восстановления, если например телефон умер.
Затем отвечаем так:
Do you want me to update your "/home/rrv/.google_authenticator" file? (y/n) y Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) y By default, tokens are good for 30 seconds. In order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of +-1min (window size of 3) to about +-4min (window size of 17 acceptable tokens). Do you want to do so? (y/n) n If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) y
Для авторизации с паролем
Добавляем в /etc/pam.d/sshd
auth required pam_unix.so no_warn try_first_pass auth required pam_google_authenticator.so
Затем в /etc/ssh/sshd_config проверяем настройки, что надо меняем и добавляем, должны быть следующие значения (тут настраивается для пользователя rrv):
ChallengeResponseAuthentication yes Match User rrv AuthenticationMethods keyboard-interactive
Для авторизации по ключам
В /etc/pam.d/sshd комментируем все строки начинающиеся с auth иначе будут все виды авторизации
# Standard Un*x authentication. #@include common-auth #auth substack password-auth #auth required pam_unix.so no_warn try_first_pass
Добавляем строку:
auth required pam_google_authenticator.so
Затем в /etc/ssh/sshd_config проверяем настройки, что надо меняем и добавляем, должны быть следующие значения (тут настраивается для пользователя rrv):
ChallengeResponseAuthentication yes Match User rrv AuthenticationMethods publickey,keyboard-interactive
Перезапускаем sshd
# service sshd restart
Пробуем подключатся.