我想允许任何人使用有效的身份密钥访问SSH,但只允许一个IP地址具有SSH密码访问权限。
我该怎么做呢?
(我在Centos 5.5上运行)
您可以轻松使用Match
语句(请参阅sshd_config(5) )来区分客户端,并且只允许一个客户端(例如,通过其IP地址标识)使用其密码login,而不是使用SSH密钥。
http://www.softpanorama.org/Commercial_linuxes/Security/linux_pam.shtml#News
修改pam来做到这一点。 我从来没有试过这个。
你可以运行2个sshd的
1 – 通常从init运行,只有密钥validation(在sshd_config中设置)
2 – 从xinetd( http://www.itech7.com/Linux/How-to-configure-SSHD-on-Xinetd )运行,使用单独的sshd_config等监听另一个端口(例如2222),并且该端口configuration为你的本地防火墙(iptables /无论)只允许从你想要的IP访问。