Ubuntu
如何設置 SSH 無密碼密鑰認證僅用於遠端訪問,允許本地使用者使用密碼
我正在嘗試讓執行 Ubuntu 10.04 的 SSH 伺服器僅在來自本地網路時才允許密碼登錄。對於所有其他使用者,尤其是那些通過防火牆從 Internet 登錄的使用者,我想強制使用基於密鑰的身份驗證。我搜尋了一下,發現了以下內容。
這是我所做的更改
/etc/ssh/sshd_config
:PasswordAuthentication yes Match Address 192.168.5.0/24 PasswordAuthentication yes
這樣,我從另一台具有 192.168.5 的機器登錄。地址,但由於缺少公鑰而不允許我進入:權限被拒絕(公鑰)。
這應該可以解決問題:
PubkeyAuthentication yes PasswordAuthentication no Match Address 192.168.5.* PasswordAuthentication yes
預設情況下,前兩行將啟用 pubkey 身份驗證。最後一行將覆蓋匹配網路 (192.168.5.0/24) 的其他兩行。
匹配條件後的換行符很重要。這應該有效:
PasswordAuthentication no Match Address 192.168.5.0/24 PasswordAuthentication yes
編輯:我很驚訝另一個答案有效!它對我不起作用。好吧,這樣你就可以使用 CIDR 網路遮罩了。