是否存在密钥基础设施允许一个人以 sudo 身份远程运行而无需输入密码?

是否存在密钥基础设施允许一个人以 sudo 身份远程运行而无需输入密码?

例如,我可以使用ssh-id-copy获取密钥并登录远程服务器而无需输入密码。是否有类似的机制可以以 root 身份运行而无需输入密码?

我不知道。如果用密钥登录比较安全,那么我认为应该有一个这样的机制sudoNOPASSWD然而,这不是一个好的解决方案。

谢谢。

答案1

它没有实现此目的的关键基础设施。您可以改用 sudoer。

在 /etc/sudoers.d 中创建文件

sudo visudo -f /etc/sudoers.d/filename

添加以您的帐户开头的行

ubuntuman ALL=(root) NOPASSWD: ALL

保存文件

谨慎使用

答案2

你说:

NOPASSWD 不是一个好的解决方案

但是NOPASSWD解决方案。你能澄清一下你的问题,解释一下你不喜欢它的原因吗?

这里有一个关注点分离:身份验证与授权是分开的。一旦你向系统证明了你是WHO您(通过登录)表示您sudo有责任限制什么你可以做。

文件sudoers语法相当复杂(虽然有些晦涩难懂)。您可以限制单个用户(或用户组)使用某些命令集,无论是否使用密码。这是否有助于缓解您的担忧?

相关内容