Ssh 如何更改EC2公钥?

Ssh 如何更改EC2公钥?,ssh,amazon-ec2,amazon-web-services,pem,public-key,Ssh,Amazon Ec2,Amazon Web Services,Pem,Public Key,我正在尝试为我自己、使用AWS的团队的其他成员以及运行实例更改EC2公钥 所以旧的钥匙是(例如)“我的钥匙”,我做了一个新的钥匙叫“我的钥匙2” 我创建了新密钥,将.pem文件与旧密钥一起保存,因此'my_key.pem'和'my_key2.pem'都位于我的~/.ssh文件夹中 现在,我正在尝试ssh到其他实例中,以更改它们的授权密钥以共享我的公钥,但是当我尝试ssh时,我得到了 amy$ ssh ***-**-**-***-***.foo.com Permission denied (pu

我正在尝试为我自己、使用AWS的团队的其他成员以及运行实例更改EC2公钥

所以旧的钥匙是(例如)“我的钥匙”,我做了一个新的钥匙叫“我的钥匙2”

我创建了新密钥,将.pem文件与旧密钥一起保存,因此'my_key.pem'和'my_key2.pem'都位于我的~/.ssh文件夹中

现在,我正在尝试ssh到其他实例中,以更改它们的授权密钥以共享我的公钥,但是当我尝试ssh时,我得到了

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

Permission denied (publickey).

我尝试将新的“my_key2”文件从.ssh文件夹中取出,同样的问题也出现了。在我开始胡闹之前,我没有这个问题。关于让ssh识别我的旧证书以便让每个人都使用新密钥的任何提示?

您需要停止实例(如果支持EBS实例),以便更改用于实例的密钥对。若并没有EBS支持的卷,那个么您只需要使用新的密钥对从AMI启动另一个实例

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

这个解决方案有效。我查过了。 用简单的步骤。 登录AWS控制台,创建一个新的pem密钥,它会要求您将其保存到本地,保存它。 运行以下命令

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

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

该密钥是在启动时从aws下载的,您无法更改。最佳实践是使用您的个人密钥对创建一个新用户,并在/etc/sudoers中授予您所需的访问权限