Ssh

將 SSH 登錄限制為來自公共網路的公鑰,但允許來自內部網路的密碼

  • November 28, 2014

假設 UserA 被允許通過 SSH 從公共網路和私有網路中登錄到伺服器。

是否有任何選項可以限制啟用密碼的登錄到專用網路,同時對世界其他地方強制執行公鑰身份驗證?

到目前為止我的配置中有什麼

AllowUsers root@10.0.0.2 root@10.0.0.1 usera

如何讓 usera 通過公鑰或密碼從 usera@10.0.0/24 登錄,並從任何其他網路強制 usera 使用公鑰登錄?

類似於以下工作的東西嗎?確切的符號語法是什麼?

# no password login from the public
PasswordAuthentication no
ChallengeResponseAuthentication no

# allow password login from private network
Match Users usera@10.0.0/24 root@10.0.0/24
  PasswordAuthentication yes

感謝您的任何啟發。

PS:此設置的原因是在內部網路中啟用密碼登錄,作為萬一其他任何失敗的最後手段。

您的配置很接近。我想你想要的是

PubkeyAuthentication yes
PasswordAuthentication yes

AuthenticationMethods publickey

Match Address 10.0.0.0/24
AuthenticationMethods publickey password

您可以在 中找到詳細資訊man sshd_config

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