
我希望允許任何人使用有效的身份金鑰存取 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 的存取。