如何在Ubuntu 20.04上使用Cloud-init设置自定义密码?

时间:2020-05-04 12:07:19

标签: ubuntu cloud-init ubuntu-20.04

最近,我通过将配置装载到映像中来使Cloud-Init正常工作。一切都很好,它有效。如果我破坏配置,它会告诉我。它没有告诉我的是为什么不允许我登录。

我尝试使用echo possible | mkpasswd -m sha-512 -s创建自己的密码,并复制快速入门页上的示例:https://wiki.ubuntu.com/FoundationsTeam/AutomatedServerInstalls/QuickStart

均无效。我也尝试设置自定义用户名。不会改变任何东西。默认的ubuntu:ubuntu也不可用。 ubuntu和空白都不是。

我正在使用什么:

https://releases.ubuntu.com/20.04/ubuntu-20.04-live-server-amd64.iso

https://wiki.ubuntu.com/FoundationsTeam/AutomatedServerInstalls/QuickStart

# echo possible | mkpasswd -m sha-512 -s                                    
$6$nqZiIASVBA.iF$9nubU0ImWVrv4XhtEq9XhSh9UYNFQ7yC9Lf7A.uheSlJ3cgI5d9ltkUwRq.X8lAwoQuLAMem6v.gJNGYwk5XA0

以下带有其提供的密码的配置,或以上;

#cloud-config
autoinstall:
  version: 1
  identity:
    hostname: ubuntu-server
    password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
    username: ubuntu

我还尝试过设置如下用户块:

https://gist.github.com/leogallego/a614c61457ed22cb1d960b32de4a1b01#file-ubuntu-cloud-virtualbox-sh-L46-L56

我要的是:

  • 更好地说明预期的哈希类型。
  • 有效的用户数据配置

3 个答案:

答案 0 :(得分:1)

我正面临着同样的问题。通过在安装过程中使用外壳程序,我看到没有创建任何用户,因此重启后我们无法登录。我不知道为什么,要么是附属的错误,要么是缺少有关如何正确使用它的文档。永不过时,我能够使用此技巧在自动安装文件中创建用户:

  late-commands:
    - useradd -m -R /target -u 1001 ubuntu
    - echo "ubuntu:ubuntu" | chroot /target /usr/sbin/chpasswd
    - usermod -R /target -aG sudo ubuntu

答案 1 :(得分:0)

我终于找到了可以创建可用帐户的有效配置;

users:
  - default
  - name: kim
    passwd: "$6$kW4vfBM9kGgq4hr$TFtHW7.3jOECR9UCBuw9NrdSMJETzSVoNQGcVv2y.RqRUzWDEtYhYRkGvIpB6ml1fh/fZEVIgKbSXI9L1B6xF."
    shell: /bin/bash
    lock-passwd: false
    ssh_pwauth: True
    chpasswd: { expire: False }
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: users, admin
    ssh_authorized_keys:
     - ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCbJ7oF5RXUj6R1ewF15X2i6RieWFmVUkOyT0DwzgfI8fRl5mMMSRlDRYQi3NznwcWDAxLApF82FomNv8vk1V2SXDGGs8XpOvtgAPpR3JUKJGmxoiES7rxa7bq/JSmpGprsnlCocTJnOfDz6Gz2Ge4+D84EZHOW7ejbkWDBdXOYYRMIlRSoXBkb0017G/OIvPNdwZRYLzLJYjGGL08GX+/Da+lrbz8/FaewXwb/BfjRYESOG+aJNTCOQfgzNsFGJ6EslsMc1bDtCq2pvWUenlUo/2BEAICiJxmXZkAjDrIYcyTzHLE14+UfCiC6pbMEdXF2ndUARr0HcNpvJz8K0Mg4CfjRpxaopfPfHp/lMR36ys0r4bT3q9iU4ClnUAeWxbCK7pUN+D/6TVrIKLOLuuIph81sb5+jW23ycg0fjQ/2/ttKQvTzHwomN6B6T/KgXVt367Iq+uzN02wtk282pJOIIqVi3PSHVcJl1I+bFAzeEdmJP29d/wnp0ZyuNYDp0P8= miesl@mies-pc

autoinstall:
    version: 1
    identity:
        hostname: yamanouchi-node-1
        username: ubuntu
        password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
    refresh-installer:
        update: yes

它将创建一个名为kim和密码possible的用户。我不确定是否需要刷新安装程序(我认为不是)。密码ssh和没有密码root都非常不安全,但是,嘿。您可以自己配置。

ubuntu帐户仍然无法使用。我不知道为什么。

答案 2 :(得分:0)

对于 ubuntu 20.04,我发现没有 /etc/securetty 就无法登录控制台。我之所以这么回答是因为不清楚您是否尝试通过控制台访问您的帐户。

runcmd:
    - cp /usr/share/doc/util-linux/examples/securetty /etc/securetty

我发现如果我将 /etc/securetty 安装为 runcmd,那么我可以在系统控制台上使用这些 cloud-config 用户登录。否则,身份验证将失败。

我对决定使用此示例的安全后果不做任何声明。