Ssh
僅針對外部地址的兩因素 SSH 身份驗證
我有一個 Ubuntu 伺服器,它有一個私有的、內部的、IP 和一個面向公眾的 IP。我想在公共端為 SSH 設置兩因素身份驗證。這可能嗎?我計劃使用 Google Authenticator,但也對其他想法持開放態度。
是的,您可以使用
pam_access.so
. 此配方取自Google Authenticator 的 wiki:一個有用的 PAM 方法是允許在連接源自某些來源時跳過雙重身份驗證。PAM 已經支持這一點。例如,pam_access 模組可用於根據本地子網檢查源:
# skip one-time password if logging in from the local network auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-local.conf auth required pam_google_authenticator.so
在這種情況下,access-local.conf 看起來像:
# only allow from local IP range + : ALL : 10.0.0.0/24 + : ALL : LOCAL - : ALL : ALL
因此,來自 10.0.0.0/24 的登錄嘗試將不需要雙重身份驗證。