2012-08-28 34 views
4

我正在尝试为我自己,我的团队中使用AWS的其他人以及运行实例更改我的EC2公钥。如何更改EC2公钥?

因此旧密钥是(例如)'my_key',并且我创建了一个名为'my_key2'的新密钥。

我做了新的密钥,将.pem文件保存在旧文件中,所以'my_key.pem'和'my_key2.pem'都位于我的〜/ .ssh文件夹中。

现在,我想ssh到其他情况下改变他们authorization_keys分享我的公用密钥,但是当我尝试SSH,我得到

amy$ ssh ***-**-**-***-***.foo.com 

Permission denied (publickey). 

我试图采取新的“my_key2”文件出.ssh文件夹,并出现相同的问题。在我开始四处闲逛之前,我没有遇到这个问题。关于让ssh识别我的旧证书的任何提示,以便让每个人都可以使用新密钥?

回答

4

您需要停止实例(如果EBS支持的实例)才能更改要用于该实例的密钥对。如果不是EBS支持的卷,则只需使用新密钥对从AMI启动另一个实例即可。

如果您无法轻松地重新启动实例或创建新的实例,这种方法声称能够更改正在运行的实例的公钥,但我没有尝试过。真正正确的做法是通过停止/启动或创建新实例。

http://seabourneinc.com/2011/01/19/change-key-pairs-on-aws-ec2-instance/

+0

密钥是从开机时从aws下载的,它不是你可以改变的。最佳做法是用您的个人密钥对创建一个新用户,并在/ etc/sudoers中授予您自己需要的访问权限 –

0

http://seabourneinc.com/2011/01/19/change-key-pairs-on-aws-ec2-instance/ 此解决方案。我检查了它。 在简单的步骤。 登录到AWS控制台,创建一个新的pem密钥,它会要求您将它保存到本地,保存它。 运行以下命令。

ssh-keygen -y | tee my_key.pub 键入保存新pem密钥文件以及文件名的路径。

上述命令将在屏幕上显示内容,将其复制并粘贴到EC2实例的 authorized_keys文件中,保存并关闭。 现在您可以使用保存/下载的新pem密钥文件来访问EC2实例。