在 EC2 实例上强制为 Ubuntu 用户强制使用密码



我有一个"Amazon EC2 ubuntu"实例,并且有密钥文件(somekeyfile.pem)通过SSH访问该实例。我也与供应商共享了keyfile(somekeyfile.pem)文件,以部署项目内容。但是现在我想撤销该供应商的访问权限。为此,我尝试了以下方法。

(1) Set root password using the command 
sudo passwd
(2) Set ubuntu password using the command 
sudo passwd ubuntu
(3) Modify the /etc/ssh/sshd_config
    and set PasswordAuthentication yes
    then restart the SSH service 
(4) Modified /etc/sudoers.d/90-cloud-init-users and changed 
ubuntu ALL=(ALL) NOPASSWD:ALL
to:
ubuntu ALL=(ALL) ALL

仍然是供应商,我只能使用密钥对登录到实例。 有没有办法使用密钥对/.pem身份验证启用密码。请指导。我知道Sudo命令询问密码。

首先,你不应该共享你的私钥。

私钥是私有的。

相反,您应该做的是要求您的用户创建自己的私钥/公钥对,并与您沟通公钥对,以便您可以将其附加到$HOME/.ssh/authorized_keys文件中。

要允许密钥使用特定用户通过 SSH 连接到主机,您需要做的是将相应的公钥附加到该用户的$HOME/.ssh/authorized_keys文件中。

要撤销密钥,您需要做的就是删除此用户的$HOME/.ssh/authorized_keys文件的相应行。

如果您对公钥/私钥机制不满意,您应该先阅读它。

要解决您的问题:

  1. 创建新的私钥/公钥对。私钥将取代您当前的somekeyfile.pem,这次将其保密!

  2. 将公钥附加到相应的.ssh/authorized_keys

  3. 确保您可以使用新的私钥登录

  4. 删除.ssh/authorized_keys中与旧密钥对应的行

警告:如果您搞砸了,您最终将无法再联系到您的主机,因此在撤销旧密钥之前,请确保新密钥有效。

最新更新