SSH,基于密钥的身份验证和密码

SSH,基于密钥的身份验证和密码

在过去的一年里,我一直在定期搜索这个问题,但仍然没有找到我的问题的答案。

我经常在 Ubuntu 服务器上工作,包括本地(VM)和暂存/生产服务器,并且我始终通过 Putty 连接(我在 Windows 上)。

1. 我怎样才能sudo不用一直输入我的 Linux 用户密码?

我认为基于密钥的身份验证的重点在于它比密码安全得多。但是作为管理员,我需要一直这样做sudo

我经常看到这样的情况:我被授予以非 root 用户身份登录的权限,执行sudo su(或任何其他sudo命令),并且不需要输入密码。

据我所知,我一直在向 中添加richard ALL=NOPASSWD: ALL内容nano /etc/sudoers。但是我也了解到这样做不安全(主要是以防万一您的 PC 无人看管,其他人获得 root 访问权限)。

我确实读到过,如果您使用密码保护您的私钥,您可以让您的客户端为您记住密码,但我不是在谈论密钥上的密码,而是服务器上用户帐户的密码。

2. 如果唯一拥有私钥的用户的 PC 发生故障,您该如何应对?

当您仅强制执行私钥连接时,如何重新进入?

答案1

  1. 使用您找到的策略文件NOPASSWD中的标签/etc/sudoers。然后,请确保在登录时不要让 PC 处于无人监控的状态。但是,使用 sudo 密码会更安全(这不同于您的登录密码 - 您说得对,使用非对称加密进行登录更安全,即基于密钥的身份验证)。
  2. 正如@AlexP 所建议的,备份你的私钥。我建议你把它存储在 CD/DVD 中并放在安全的地方。这样可以最大限度地减少入侵者得到它的机会。

相关内容