Назад | Перейти на главную страницу

Белый список IP от Google-Authenticator в sshd pam

Мой сервер 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/.