Ssh
sshd:設置“UsePAM no”的實際效果是什麼
在 中
/etc/ssh/sshd_config
,在 Debian 10 上預設啟用 PAM:UsePAM yes
在我不想允許使用密碼或 kerberos 登錄而只想允許 SSH 密鑰身份驗證的情況下,
PAM
在 sshd 中啟用它還有什麼優勢嗎?UsePAM
或者,如果設置為“否” ,它會簡化流程並可能使其更安全嗎?在 sshd 中禁用 PAM 的實際效果是什麼?我會注意到有什麼不同嗎?
與手冊頁(和另一個答案)聲稱的相反,
UsePAM yes
不僅允許您以非 root 使用者身份執行 sshd,而且還允許以非 root 使用者身份執行的 sshd 執行密碼身份驗證(對於它執行的同一使用者)通過 setuid/sbin/unix_chkpwd
程序。後者是相當出乎意料的。
user$ /usr/sbin/sshd -f /dev/null -p 9009 -h ~/.ssh/id_rsa user$ /usr/sbin/sshd -f /dev/null -o UsePAM=yes -p 7007 -h ~/.ssh/id_rsa user$ ssh -p 7007 localhost The authenticity of host '[localhost]:7007 ([::1]:7007)' can't be established. ... Password: <correct password> Linux deb11 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 ... user$ <I'm logged in!> user$ ^D Connection to localhost closed. user$ ssh -p 9009 localhost The authenticity of host '[localhost]:9009 ([::1]:9009)' can't be established. ... user@localhost's password: Permission denied, please try again. user@localhost's password: Permission denied, please try again. user@localhost's password: user@localhost: Permission denied (publickey,password,keyboard-interactive). user$