Ssh

sshd:設置“UsePAM no”的實際效果是什麼

  • October 17, 2021

在 中/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$

引用自:https://unix.stackexchange.com/questions/673153