谢谢您的时间。
我有一个EC2实例,但是出于安全原因,我需要更改.ssh / authorized_keys中关联的pem文件。我确实知道公共Pem文件进入了authorized_keys。
我不想将ec2实例的卷装入新的卷。我正在考虑作为最后的选择,因为我确实有权访问EC2实例。
这怎么办?
我尝试过: 这篇文章Change key pair for ec2 instance是Pat Mcb的回答,但没有运气。
下载AWS pem后运行此命令。
ssh-keygen -f YOURKEY.pem -y然后将输出转储到 授权密钥。
或将pem文件复制到您的AWS实例并执行以下命令
chmod 600 YOURKEY.pem,然后
ssh-keygen -f YOURKEY.pem -y >>〜/ .ssh / authorized_keys
但这对我不起作用。如果我严格按照此说明下载aws密钥对密钥,并在ssh进入实例时(当我执行ssh-keygen -f YOURKEY.pem -y >>〜/ .ssh / authorized_keys时,通过处理密钥来遵循说明),要求输入一个密码(无需输入密码)
我正在做的事情如下。 我用创建一个新密钥 ssh-keygen newpem.pem
和.pub文件,我将其复制到.ssh / authorized_keys
有人可以解释我做错了什么吗? 请注意,authorized_keys文件具有正确的权限。
答案 0 :(得分:1)
似乎您想弃用旧密钥,而改用新密钥。这些步骤可能对您有帮助-
使用aws控制台创建新的密钥对,并将其下载到系统中。
使用命令-“ ssh-keygen -y”
使用旧密钥SSH进入实例。
一旦您有权访问该实例,请将在第2步中获得的公钥添加到“〜/ .ssh / authorized_keys” 文件中,然后保存该文件。
注销实例,然后尝试使用新密钥访问实例。
希望有帮助。谢谢!
答案 1 :(得分:1)
您甚至不需要做所有这些事情,仅需注意AWS EC2的几件事,您就可以获得默认用户的私钥。例如ec2-user / ubuntu等。
您正在采取正确的步骤
ssh-keygen -t rsa -C“ your_email@example.com”
如果要求输入任何释义,请将其留空。
只需按以接受默认位置和文件名。如果.ssh目录不存在,系统将为您创建一个。
如果提示输入密码,请输入并重新输入
您现在拥有那个钥匙。
复制该密钥
登录到您的Ec2服务器。
sudo su
vim〜/ .ssh / authorized_keys
粘贴密钥。
:wq!
您将在其中看到一个密钥,将其复制并保存为备份。
现在将新生成的密钥粘贴到该文件中
并保存文件。
现在要注意的最后一步是权限,因此请运行以下命令。
sudo chmod 700 .ssh && chmod 600 .ssh / authorized_keys
现在你可以去了。