我已经启动了CentOS 6.4 AMI并将其配置为我们应用程序的基本实例。我现在正在尝试从中创建一个可以根据需要调出的AMI。
不幸的是,当从AMI创建新实例时,root用户的密钥对仍然是从CentOS AMI创建时分配给原始模板实例的密钥对。我希望AWS能够在创建AMI的每个实例时为其分配新的密钥对。虽然我们不会在实例上使用根密钥对进行日常工作,但我更希望它们不会共享相同的密钥。
尽管在发布时创建了一个新密钥对,但我只能使用原始密钥登录。我尝试了几种解决方案,包括删除root用户的authorized_keys,但无济于事。
我很感激您提供的任何建议。
感谢。
答案 0 :(得分:1)
我也使用我的Centos 6.5图像遇到了这个问题。
以下是我修复它的方法:
安装EPEL回购
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
安装cloud-init软件包
yum install cloud-init
将用户添加到名为" cloud-user"
的框中使用无密码选项
将cloud用户添加到sudoers文件中cloud-user ALL=(ALL) NOPASSWD: ALL
停止实例,并创建AMI。
当您从该AMI启动实例时,您可以选择所需的任何密钥,当您登录时,您只需使用以下命令
ssh -i yourkeyfile.pem cloud-user@your.ip.addy
要成为root用户,只需输入以下内容
即可sudo -i
干杯
答案 1 :(得分:0)
停止正在运行的EC2实例
分离其/ dev / sda1卷(我们称之为卷A)
使用我的新密钥对
将卷A附加到新的微实例,如/ dev / xvdf(或/ dev / sdf)
SSH到新的微实例并将卷A安装到/ mnt / tmp
将〜/ .ssh / authorized_keys复制到/mnt/tmp/home/ubuntu/.ssh/authorized_keys
注销
终止微型实例
从中分离卷
将卷A作为/ dev / sda1
启动主实例
像以前一样使用新的.pem文件登录