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

разрешить вход по ssh для определенных групп с определенных IP-адресов, запретить с других адресов

ОС: CentOS 6.5 SSH v5.3

Цель:

Статус: 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 была отключена для этого блока, и теперь пользователи, приходящие откуда угодно, успешно отклоняются.