在过去的一年里,我一直在定期搜索这个问题,但仍然没有找到我的问题的答案。
我经常在 Ubuntu 服务器上工作,包括本地(VM)和暂存/生产服务器,并且我始终通过 Putty 连接(我在 Windows 上)。
1. 我怎样才能sudo
不用一直输入我的 Linux 用户密码?
我认为基于密钥的身份验证的重点在于它比密码安全得多。但是作为管理员,我需要一直这样做sudo
。
我经常看到这样的情况:我被授予以非 root 用户身份登录的权限,执行sudo su
(或任何其他sudo
命令),并且不需要输入密码。
据我所知,我一直在向 中添加richard ALL=NOPASSWD: ALL
内容nano /etc/sudoers
。但是我也了解到这样做不安全(主要是以防万一您的 PC 无人看管,其他人获得 root 访问权限)。
我确实读到过,如果您使用密码保护您的私钥,您可以让您的客户端为您记住密码,但我不是在谈论密钥上的密码,而是服务器上用户帐户的密码。
2. 如果唯一拥有私钥的用户的 PC 发生故障,您该如何应对?
当您仅强制执行私钥连接时,如何重新进入?
答案1
- 使用您找到的策略文件
NOPASSWD
中的标签/etc/sudoers
。然后,请确保在登录时不要让 PC 处于无人监控的状态。但是,使用 sudo 密码会更安全(这不同于您的登录密码 - 您说得对,使用非对称加密进行登录更安全,即基于密钥的身份验证)。 - 正如@AlexP 所建议的,备份你的私钥。我建议你把它存储在 CD/DVD 中并放在安全的地方。这样可以最大限度地减少入侵者得到它的机会。