如何为除多个用户之外的所有用户禁用密码验证

Eir*_*Nym 8 openssh

我想在标题中分享我的问题答案,我很快就找不到.

有很多主题如何禁用密码验证:

UsePam yes # it will not be used
ChallengeResponseAuthentication no
PasswordAuthentication no
kbdInteractiveAutentication no
Run Code Online (Sandbox Code Playgroud)

但没有主题如何为特定用户启用:

Match User myuser
    PasswordAuthentication yes
    KbdInteractiveAutentication yes
Run Code Online (Sandbox Code Playgroud)

测试sshd配置的有用命令是:

sshd -T -C user=myuser,host=127.1,addr=127.1
Run Code Online (Sandbox Code Playgroud)

请注意,"127.1"不适用于每个系统,因此您可能需要在此处粘贴127.0.0.1.

den*_*ane 2

如果不是专门关于密码身份验证,您可以强制使用pam_access.so并让您的/etc/security/access.conf外观像这样:

+ : myuser : <ip/net here or ALL>
- : ALL : ALL
Run Code Online (Sandbox Code Playgroud)