MacOSX 10.8 忽略 hosts.deny
我一直在嘗試設置我最近升級到 Mountain Lion 的 MacOS X 伺服器,以使用拒絕主機,因為我需要為其打開埠 22。已設置拒絕主機並向 /etc/hosts.deny 添加條目,因此我決定將我的筆記型電腦 IP 添加到其中以驗證它是否確實有效,但我仍然可以登錄並且我的 IP 顯示在 /private/var/log /系統日誌。我什至重新啟動了伺服器一次,以確保沒有某些服務必須重新啟動。
我嘗試了以下條目:
ALL: <my laptop's IP> sshd: <my laptop's IP> sshd: 127.0.0.1
我的 /etc/sshd_config 設置了以下參數:
UsePAM yes UseDNS no
如果在 OSX 10.7 或 10.8 中不推薦使用 deny.hosts,我使用 Google 搜尋,但我找不到任何跡象。關於出了什麼問題的任何想法,或者是否有其他方法可以達到相同的結果?
是的,私鑰可以解決這個問題,但目前我想堅持使用密碼身份驗證。我也喜歡拒絕主機實際上阻止訪問伺服器上執行的所有服務的想法,而不僅僅是 ssh。
我也在嘗試獲取一些有關讓拒絕主機在 Mac OS X Mountain Lion 上工作的資訊。到目前為止,我還沒有成功,但我知道下一步該去哪裡。不確定我是否真的需要它。
根據http://denyhosts.sourceforge.net/ssh_config.html:
為了利用 DenyHosts,您必須確保您的 sshd 伺服器已經編譯並支持 tcp_wrappers。
OS X ML 似乎不再是這種情況了。https://discussions.apple.com/thread/4267535?start=0&tstart=0
這就是為什麼 hosts.deny 在 Mountain Lion 中被忽略的原因。
但我不確定我是否想通過 Mac 埠安裝 libwrap……也許我會將 SSH 埠更改為更高的埠,以限制身份驗證嘗試失敗的衝擊。
一旦您只接受使用 sshd 的公鑰身份驗證,您實際上只會損失一些幾乎無法衡量的性能,並通過 syslog 損失更多的磁碟空間。