更改了ubuntu用户的密码无法从实例创建新的AMI

时间:2014-06-16 23:52:54

标签: ubuntu amazon-web-services amazon-ec2 ami

我正在使用Amazon EC2上的Ubuntu AMI。

在正在运行的实例上,我将ubuntu用户的密码更改为(假设)'foobar'。

(我知道EC2中通常不需要用户密码,因为带有公钥/私钥的ssh,但是我正在设置一个使用unix用户名/密码进行身份验证的Web应用程序,所以我需要确保它有效。)

我尝试了几种设置密码的方法:

  1. sudo passwd ubuntu
  2. echo“ubuntu:foobar”| chpasswd的
  3. 使用厨师的'用户'资源设置
  4. 在所有情况下,如果我从正在运行的实例中创建一个新图像,然后 创建该图像的实例,ubuntu用户将没有密码'foobar'。

    我可以设置密码并重启正在运行的实例,并输入正确的密码 仍然被设置,但在从实例制作新图像后,没有这样的运气。

    之前这对我有用。不知道为什么它现在不起作用。这是一张EBS图片。

    编辑:添加重现问题的确切步骤。

    • 启动公共AMI ami-1a05fa72
    • 的实例
    • ssh到实例并使用sudo passwd ubuntu
    • 设置ubuntu的密码
    • 将密码设置为foobar
    • 基于此实例创建图像
    • 根据您刚创建的图片启动实例
    • 通过ssh到实例来测试ubuntu的密码是否为foobar 作为ubuntu并输入passwd。它首先会问你的 当前密码。输入foobar,当这被拒绝时,您有 转载问题。

2 个答案:

答案 0 :(得分:0)

听起来并不贬低,但在我意识到我的AMI创建之前之前我已经发生了这种情况。我更改了密码。

如果不是这样,您可能也想修改sshd_config文件。使用&sudo passwd ubuntu'更改密码后,将以下行添加到/ etc / ssh / sshd_config:

PasswordAuthentication yes

这应启用密码登录。用以下内容重新加载你的ssh:

sudo reload ssh

然后创建一个新的AMI。

答案 1 :(得分:0)

据Starcluster名单上的Hugh MacMullan所说,答案是:

"看看/etc/cloud/cloud.cfg,特别是' default_user'部分。注意' lock_passwd:True'。您可以将其更改为False ...或者更好的是创建一个不同的用户(例如,rlogin),默认情况下不会在init上锁定,因此您应该好好去。"

我将lock_passwd更改为False,并且我的密码更改在重新启动后仍然存在。不需要不安全的crontab hacks。