AWS:如何阻止cloud-init禁用rootlogin

在AWS上,我设法创build了一个修改后的Ubuntu 12.04 LTS amd64的AMI。 我已经添加了很多包和我们自己的代码和文件。 云初始化还在那里,我肯定应该留下来。 然而,在我用于为AMI创build快照的原始卷中启用它之后,它通过在运行时重新禁用root来破坏我的自动化。

文件/usr/share/pyshared/cloudinit/CloudConfig/cc_ssh.py似乎与此连接。 由于我在Python编程方面没有经验,所以我不知道它调用的一些函数是什么,所以我不能真正看到这个脚本正在做什么。

我可以添加一些我自己的init脚本,以便在某个地方运行,以便撤销并重新启用root。 有没有一种方法,由云初始化标准化或制裁,设置一个标志,以表明禁用根login不应该做? 或者我应该只是推出我自己的解决scheme(后来初始化放回我自己的/root/.ssh/authorized_keys文件)。

我也看到这个脚本正在删除旧的主机密钥并重新生成新的主机密钥。 这是我想保留的东西(因此我不需要自己做)。

我还将SSH侦听端口号更改为22以外的数字(并且安全组设置为仅允许从我自己的IP访问该端口)。 那么多没有改变。 这很好。

该代码似乎检查disable_root布尔configuration值,所以我猜你需要在/etc/cloud/cloud.cfg设置:

 disable_root: 0