当私钥不可用时仅发送一个警告

当私钥不可用时仅发送一个警告

为了增加安全性,我需要私钥才能在我的 Ubuntu 服务器上使用 sudo。我已经为 sudo 添加了私钥身份验证,如下所述https://superuser.com/questions/164078/how-to-make-shared-keys-ssh-authorized-keys-and-sudo-work-together。我还尝试通过/etc/pam.d/sudo如下方式读取来禁用基于密码的身份验证:

#%PAM-1.0

auth    required   pam_env.so readenv=1 user_readenv=0
auth    required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth    [success=1 default=ignore]   pam_ssh_agent_auth.so file=/etc/security/authorized_keys
auth    requisite  pam_deny.so
auth    required   pam_permit.so
auth    optional   pam_cap.so

@include common-account
@include common-session-noninteractive

它似乎有效,但我想检查一下以确保我没有忽视一个巨大的安全漏洞。另外,如果我尝试在没有私钥的情况下使用 sudo,它会在失败之前尝试 3 次:

Sorry, try again.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts

这不是什么大问题,但我每次都会收到一封安全警告电子邮件,所以最好只尝试一次。

答案1

您应该能够更改此设置:

auth    [success=1 default=ignore]   pam_ssh_agent_auth.so file=/etc/security/authorized_keys

对此:

auth    [retry=1 success=1 default=ignore]   pam_ssh_agent_auth.so file=/etc/security/authorized_keys

相关内容