Как я могу разрешить аутентификацию по паролю SSH только с определенных IP-адресов?

Я хотел бы разрешить аутентификацию по паролю SSH только из определенной подсети. Я вижу возможность запретить это глобально в /etc/ssh/sshd_config:

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

Есть ли способ применить эту конфигурацию к выбранному диапазону IP-адресов?

2 ответа

Решение

Использовать Match блок в конце /etc/ssh/sshd_config:

# Global settings
…
PasswordAuthentication no
…

# Settings that override the global settings for matching IP addresses only
Match address 192.0.2.0/24
    PasswordAuthentication yes

Затем скажите службе sshd перезагрузить конфигурацию:

service ssh reload

Можете добавить:

AllowUsers user1@192.168.*.*, user2@192.168.*.*

это меняет поведение по умолчанию, действительно запрещает всех других пользователей со всех хостов. Блок совпадений доступен в OpenSsh версии 5.1 и выше.

Другие вопросы по тегам