Мой сервер Ubuntu 12.04 использует модуль pam google-Authenticator для обеспечения двухэтапной аутентификации для ssh. Мне нужно сделать так, чтобы с определенного IP не нужно было вводить проверочный код.
Файл /etc/pam.d/sshd находится ниже:
# PAM configuration for the Secure Shell service
# Read environment variables from /etc/environment and
# /etc/security/pam_env.conf.
auth required pam_env.so # [1]
# In Debian 4.0 (etch), locale-related environment variables were moved to
# /etc/default/locale, so read that as well.
auth required pam_env.so envfile=/etc/default/locale
# Standard Un*x authentication.
@include common-auth
# Disallow non-root logins when /etc/nologin exists.
account required pam_nologin.so
# Uncomment and edit /etc/security/access.conf if you need to set complex
# access limits that are hard to express in sshd_config.
# account required pam_access.so
# Standard Un*x authorization.
@include common-account
# Standard Un*x session setup and teardown.
@include common-session
# Print the message of the day upon successful login.
session optional pam_motd.so # [1]
# Print the status of the user's mailbox upon successful login.
session optional pam_mail.so standard noenv # [1]
# Set up user limits from /etc/security/limits.conf.
session required pam_limits.so
# Set up SELinux capabilities (need modified pam)
# session required pam_selinux.so multiple
# Standard Un*x password updating.
@include common-password
auth required pam_google_authenticator.so
Я уже пробовал добавить
auth sufficient pam_exec.so /etc/pam.d/ip.sh
над строкой Google-Authenticator, но я не могу понять, как проверить IP-адрес в сценарии bash.
Вы не можете разрешить или запретить аутентификацию с помощью pam_exec. Что вам нужно сделать, так это добавить что-то вроде
account sufficient pam_access.so
чуть выше строки аутентификатора Google и в /etc/security/access.conf
ставить
+:ALL:<ip>
Я использую аутентификатор Google перед паролем учетной записи. следовательно, я не могу использовать pam_access, потому что он обходит пароль учетной записи. Поэтому я клонировал и реализовал основные функции белого списка в аутентификаторе Google.
Вы можете получить это от https://code.google.com/r/kazimsarikaya-google-authenticatior-withwhitelist/.