我想允许任何人使用有效身份密钥访问 SSH,但只允许一个 IP 地址具有 SSH 密码访问权限。
我该怎么做呢?
(我在 Centos 5.5 上运行)
答案1
您可以轻松地使用语句Match
(参见sshd_配置(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/How-to-configure-SSHD-on-Xinetd)使用单独的 sshd_config 等监听不同的端口(例如 2222),并且该端口配置有本地防火墙(iptables /其他),以仅允许从您想要的 IP 进行访问。