Security
如何在 SSHD 中禁用特定使用者的密碼驗證
我已經閱讀了幾篇關於將所有使用者僅限於密鑰身份驗證的文章,但是我只想強制一個使用者(svn)進入密鑰身份驗證,其餘的可以是密鑰或密碼。
我讀了https://stackoverflow.com/questions/4241197/how-to-disable-password-authentication-for-every-users-except-several,但似乎 sshd_config 的“匹配使用者”部分是 openssh- 5.1。我正在執行 CentOS 5.6,並且只有 OpenSSH 4.3。我目前有以下可用的儲存庫。
$ yum repolist Loaded plugins: fastestmirror repo id repo name status base CentOS-5 - Base enabled: 3,535 epel Extra Packages for Enterprise Linux 5 - x86_64 enabled: 6,510 extras CentOS-5 - Extras enabled: 299 ius IUS Community Packages for Enterprise Linux 5 - x86_64 enabled: 218 rpmforge RHEL 5 - RPMforge.net - dag enabled: 10,636 updates CentOS-5 - Updates enabled: 720 repolist: 21,918
我主要用epel,rpmforge用的是最新版(1.6)的subversion。
有沒有辦法用我目前的設置來實現這一點?我不想僅將伺服器限制為密鑰,因為如果我失去了密鑰,我就會失去我的伺服器;-)
PermitEmptyPasswords no
您可以在配置中設置參數sshd
,並刪除某些使用者的密碼,以強制對他們進行 ssh 密鑰身份驗證。
將 Match 塊添加到您的 sshd_config 文件。像這樣的東西:
Match Group SSH_Key_Only_Users PasswordAuthentication no
或者如果它真的是一個使用者
Match User Bad_User PasswordAuthentication no
請參閱
man sshd_config
有關您可以匹配的內容以及可以設置的限制的更多詳細資訊。