ОС: CentOS 6.5 SSH v5.3
Цель:
root-доступ разрешен с помощью PubKeyAuthentication с нескольких хостов.
пользователям «group1» разрешено входить в систему, используя все, что они предоставят: PubKey, Password, GSSAPI, KerberosPassword; но им разрешено приходить только с одного определенного IP-адреса: 192.168.1.10
Статус: root-доступ уже определен через несколько from=""
-заходы в ~/.ssh/authorized_keys
, и работает как положено.
Проблема: пользователи группы 1 могут прибыть из 192.168.1.10 ИЛИ откуда-то еще; или полностью заблокированы (с ранее протестированными конфигурациями).
Я пробовал несколько вариантов, но безуспешно.
/etc/pam.d/sshd
эффектно выглядит так:
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
В настоящее время я в sshd_config
:
PermitRootLogin without-password
PasswordAuthentication no
KerberosAuthentication no
GSSAPIAuthentication no
UsePAM yes
AllowGroups root group1
Match Group group1@192.168.1.10
KerberosAuthentication yes
PasswordAuthentication yes
GSSAPIAuthentication yes
PubKeyAuthentication yes
Match Group root
PubKeyAuthentication yes
Есть предложения?
Нашел рабочее решение. режим отладки sshd ( /usr/sbin/sshd -ddd
) указал на недостающую ссылку:
debug1: connection from 192.168.1.111 matched 'Address *'
debug3: match found
[...]
Accepted **keyboard-interactive/pam** for xxx from \
192.168.1.111 port 54282 ssh2
Как видите, логин соответствует правильному блоку; но из-за UsePAM yes
PAM очевидно отклонил пункты "нет" в Match Address *
блок; см. руководство:
UsePAM Enables the Pluggable Authentication Module interface.
If set to “yes” this will enable PAM authentication using
[...] PasswordAuthentication
Окончательный конфиг выглядит так:
PermitRootLogin without-password
PasswordAuthentication no
KerberosAuthentication no
GSSAPIAuthentication no
UsePAM yes
AllowGroups root group1
Match Address 192.168.1.10
KerberosAuthentication yes
PasswordAuthentication yes
GSSAPIAuthentication yes
PubKeyAuthentication yes
KbdInteractiveAuthentication yes
Match Group root
PubKeyAuthentication yes
Match Address *
KerberosAuthentication no
PasswordAuthentication no
GSSAPIAuthentication no
PubKeyAuthentication no
KbdInteractiveAuthentication no
Только после добавления KbdInteractiveAuthentication no
функция пароля PAM была отключена для этого блока, и теперь пользователи, приходящие откуда угодно, успешно отклоняются.