Ubuntu

如何設置 SSH 無密碼密鑰認證僅用於遠端訪問,允許本地使用者使用密碼

  • April 27, 2011

我正在嘗試讓執行 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 網路遮罩了。

引用自:https://serverfault.com/questions/263677