如何在AWS管理控制台中更改ec2实例的密钥对?我可以停止实例,我可以创建新的密钥对,但我没有看到任何链接来修改实例的密钥对。
当前回答
步骤:
创建新密钥,例如使用AWS控制台,PuTTY密钥生成器,或ssh-keygen 停止实例 设置实例用户数据以将公钥推送到服务器 启动实例
#cloud-config
cloud_final_modules:
- [once]
bootcmd:
- echo 'ssh-rsa AAAAB3Nz...' > /home/USERNAME/.ssh/authorized_keys
其中USERNAME是机器的预期用户名。可以从AWS获得默认用户名列表。
来自AWS的分步说明
其他回答
这是为他们谁有两个不同的pem文件,并出于任何安全目的想要丢弃其中一个。假设我们想要丢弃1。pem
连接到服务器2,从~/.ssh/authorized_keys中复制ssh密钥 在另一个终端上连接服务器1,并将密钥粘贴到~/.ssh/authorized_keys中。现在您将有两个公共ssh密钥 现在,为了增强自信心,尝试使用2.pem连接服务器1。您将能够将服务器1与这两个1连接。Pem和2.pem 现在,注释1。Pem SSH,使用SSH -i连接。pem user@server1
这个问题有两种情况:-
1)你没有权限访问。pem文件,这就是为什么你想创建一个新的文件。
2)您拥有.pem文件的访问权限,但您只是想更改或创建一个新的.pem文件,以解决某些漏洞或安全问题。
所以如果你的钥匙丢了,你可以向上滚动查看其他答案。但是,如果您只是为了安全目的而更改您的.pem文件,请遵循以下步骤:-
1)进入AWS控制台登录,从密钥对创建一个新的.pem文件 那边的区域。它会自动下载。pem文件到 你的电脑 2)修改权限到400如果你使用Linux/ubuntu点击下面 命令
chmod 400 yournewfile.pem
3)在本地生成新下载文件的RSA
ssh-keygen -f yournewfile.pem -y
4)从这里复制RSA代码 5)现在SSH到您的实例通过之前的。pem文件
ssh -i oldpemfileName.pem username@ipaddress
sudo vim ~/.ssh/authorized_keys
6)给1 - 2行空间,并粘贴复制的新文件的RSA 然后保存文件 7)现在您的新.pem文件与正在运行的实例链接 8)如果你想禁用之前的.pem文件访问,那么只需编辑即可 的
sudo vim ~/.ssh/authorized_keys
文件,并从这里删除或更改之前的RSA。
注意:-小心删除,以便新创建的RSA不会被更改。
通过这种方式,您可以将新的.pem文件与正在运行的实例更改/连接。
出于安全考虑,您可以撤销对先前生成的.pem文件的访问权。
希望对大家有所帮助!
我尝试了这种方法,过了一段时间后,我能够让它工作。缺乏实际的命令让它很困难,但我想出了办法。然而,不久之后发现并测试了更简单的方法:
将实例保存为AMI(不管是否重启,我建议重启)。这只有在EBS支持的情况下才能奏效。 然后,只需从这个AMI启动一个实例并分配新的Keyfile。 将弹性IP(如果适用)转移到新实例,就完成了。
我的问题是,我尝试使用IP而不是公共DNS。然后我尝试了公共DNS和它的解决
最简单的解决方法是复制的内容
~/.ssh/id_rsa.pub
到您的AWS实例的authorized_keys at
~/.ssh/authorized_keys
这将允许您ssh进入EC2实例,而无需为ssh命令指定pem文件。测试连接后,可以删除所有其他键。
如果你需要创建一个新的密钥来与其他人共享,你可以通过:
ssh-keygen -t rsa
这将创建私钥。Pem文件,你可以通过以下方式获取该文件的公钥:
ssh-keygen -f private_key.pem -y > public_key.pub
任何拥有private_key的人。Pem能够连接到
ssh user@host.com -i private_key.pem
推荐文章
- 如何强制从另一个SSH会话分离屏幕?
- com.jcraft.jsch.JSchException: UnknownHostKey
- 如何在Python中scp ?
- 在SSH会话中查找客户端的IP地址
- 拒绝访问;您需要(至少一个)SUPER特权来执行此操作
- 我如何使用通配符“cp”一组文件与AWS CLI
- 自定义SSH端口上的Git
- 我如何获得亚马逊的AWS_ACCESS_KEY_ID ?
- 如何使所有对象在AWS S3桶公共默认?
- Git显示“警告:永久添加到已知主机列表”
- 为什么git在Windows下记不住我的密码
- SSH端口转发~/。ssh /配置文件?
- Git克隆/拉不断冻结在“存储密钥在缓存?”
- 为什么我应该使用亚马逊Kinesis而不是SNS-SQS?
- 如何重命名AWS S3 Bucket