AWS CentOS Root Keypairs

时间:2014-01-23 15:07:05

标签: amazon-web-services ssh centos public-key-encryption ami

我已经启动了CentOS 6.4 AMI并将其配置为我们应用程序的基本实例。我现在正在尝试从中创建一个可以根据需要调出的AMI。

不幸的是,当从AMI创建新实例时,root用户的密钥对仍然是从CentOS AMI创建时分配给原始模板实例的密钥对。我希望AWS能够在创建AMI的每个实例时为其分配新的密钥对。虽然我们不会在实例上使用根密钥对进行日常工作,但我更希望它们不会共享相同的密钥。

尽管在发布时创建了一个新密钥对,但我只能使用原始密钥登录。我尝试了几种解决方案,包括删除root用户的authorized_keys,但无济于事。

我很感激您提供的任何建议。

感谢。

2 个答案:

答案 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)

  1. 停止正在运行的EC2实例

  2. 分离其/ dev / sda1卷(我们称之为卷A)

  3. 使用我的新密钥对

  4. 启动新的t1.micro EC2实例
  5. 将卷A附加到新的微实例,如/ dev / xvdf(或/ dev / sdf)

  6. SSH到新的微实例并将卷A安装到/ mnt / tmp

  7. 将〜/ .ssh / authorized_keys复制到/mnt/tmp/home/ubuntu/.ssh/authorized_keys

  8. 注销

  9. 终止微型实例

  10. 从中分离卷

  11. 将卷A作为/ dev / sda1

  12. 附加回主实例
  13. 启动主实例

  14. 像以前一样使用新的.pem文件登录

相关问题