我想sudo
以这样的方式进行设置,当我sshd
使用密钥进行身份验证时,它不会提示我输入密码;但要不然。
我不想得到“它不能那样工作”的答案,因为显然这就是我首先问这个问题的原因。我不想要为此创建两个用户的建议。
考虑到我使用 Fedora 的个人服务器,也许可能存在基于身份验证方法的临时 SELinux 角色的黑客攻击,然后可以在 sudoers 文件中使用它?
答案1
这是一篇描述 BSD 上可能的实现的论文:https://www.usenix.org/legacy/event/lisa08/tech/full_papers/burnside/burnside_html/
但它需要代理转发,我认为这相当危险。此外,该网站似乎没有链接任何来源或补丁,而且我认为这些更改尚未在上游实施。
也可以编写自定义 sudo auth 插件:http://www.opensource.apple.com/source/sudo/sudo-3/sudo/auth/API
不过,对我来说似乎相当复杂,而且我不知道是否可以查询 sshd 是否已使用公钥身份验证。
如果我是你,我只会将我的公钥放入/root/.ssh/authorized_keys
并完成它。