2016-03-01 81 views
1

我有一个“Amazon EC2 ubuntu”实例,并且具有keyfile(somekeyfile.pem)通过SSH访问实例。我已经与供应商共享密钥文件(somekeyfile.pem)文件以部署项目的东西。但现在我想撤销该供应商的访问权限。为此,我尝试了以下方法。在EC2实例上为Ubuntu用户强制实施密码

(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命令询问密码。

回答

2

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

私钥是私有

你应该做的是什么,而不是在问你的用户可以创建自己的公钥/私钥对,沟通你公共一个让你可以把它添加到$HOME/.ssh/authorized_keys文件。

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

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

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

解决你的问题:

  1. 创建一个新的私有/公共密钥对。私钥将取代您目前的somekeyfile.pem ,并保持私人这一次!

  2. 追加公钥相应.ssh/authorized_keys

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

  4. 删除对应于旧钥匙在.ssh/authorized_keys

警告:如果你搞砸了,你最终将无法联系到你的主机,所以确保新的密钥在你撤销旧密码之前工作。

+0

谢谢。投票 –