Linux

如何為某些使用者禁用使用密碼的 SSH 登錄?

  • September 22, 2021

在 Linux (Debian Squeeze) 上,我想對某些使用者(選定的組或除 root 以外的所有使用者)使用密碼禁用 SSH 登錄。但我不想為他們禁用使用證書登錄。

**編輯:**非常感謝您的詳細回答!由於某種原因,這在我的伺服器上不起作用:

Match User !root
PasswordAuthentication no

…但可以很容易地替換為

PasswordAuthentication no
Match User root
PasswordAuthentication yes

嘗試:Match_sshd_config

Match User user1,user2,user3,user4
   PasswordAuthentication no

或按組:

Match Group users
   PasswordAuthentication no

或者,如評論中所述,通過否定:

Match User !root
   PasswordAuthentication no

請注意,匹配“直到另一個匹配行或文件末尾”才有效。(縮進不重要)

Matchsshd_config運作良好。如果您使用的是 openssh 6.5p1 或更高版本,則應該使用Match all結束匹配塊。例子:

PasswordAuthentication no
Match User root
PasswordAuthentication yes
Match all

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