大多数 Linux 发行版默认启用带有公钥-私钥身份验证的 SSH。这很棒,因为当我为远程用户创建帐户时,我不必通过电子邮件向他们发送敏感信息(密码)。
然而,当这些用户需要运行时,这个过程变得毫无用处sudo
——服务器仍在询问他们的密码。这意味着我仍然需要为这些用户生成密码,并弄清楚如何安全地将密码发送给他们。
我知道sudoers
文件和NOPASSWORD
参数。但是,启用它我感到不安。sudo
在用户可以运行命令之前,我仍然需要某种身份验证。
在对这个主题进行一些研究时,我发现了 pam_ssh_agent_authsudo
项目,据我了解,它启用了与用于 ssh 连接但用于命令的相同的私钥/公钥身份验证。
似乎有了这个模块,我们就可以拥有完全无密码的帐户。
为什么这个模块或类似过程不是标准 Linux 发行版配置的一部分?是否有一些我遗漏的安全警告,为什么它没有被更广泛地采用?为什么密码 sudo被认为比公钥/私钥 sudo更安全?