
Я хочу разрешить любому человеку доступ к SSH с действительным ключом идентификации, НО разрешить доступ по паролю SSH только одному IP-адресу.
Как мне это сделать?
(Я работаю на Centos 5.5)
решение1
Вы можете легко использовать Match
заявление (см.sshd_config(5)) для различения клиентов и разрешения только одному клиенту (например, идентифицированному по его IP-адресу) входить в систему с помощью своего пароля, а не с помощью ключа SSH.
решение2
http://www.softpanorama.org/Commercial_linuxes/Security/linux_pam.shtml#News
Измените pam, чтобы сделать это. Я никогда не пробовал этого.
решение3
Вы можете запустить 2 sshd
1 — обычный запуск из init, только аутентификация по ключу (задается в sshd_config)
2 - запустить из xinetd (http://www.itech7.com/Linux/Как-настроить-SSHD-на-Xinetd) прослушивает другой порт (например, 2222) с отдельным sshd_config и т. д., и этот порт настроен с помощью вашего локального брандмауэра (iptables или чего-то еще), чтобы разрешить доступ только с нужного вам IP-адреса.