5

最近,我通过将我的配置安装在图像中来让 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

我要的是什么:

  • 更好的文档说明预期的散列类型。
  • 一个有效的用户数据配置
4

4 回答 4

3

我终于找到了一个可以创建可用帐户的工作配置;

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

它创建一个具有 namekim和 password的用户possible。我不完全确定是否需要刷新安装程序(我不这么认为)。使用密码 ssh 和没有密码 root 非常不安全,但是,嘿。你可以自己配置。

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

于 2020-05-18T11:09:12.993 回答
1

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

  late-commands:
    - useradd -m -R /target -u 1001 ubuntu
    - echo "ubuntu:ubuntu" | chroot /target /usr/sbin/chpasswd
    - usermod -R /target -aG sudo ubuntu
于 2020-05-16T23:04:32.240 回答
0

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

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

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

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

于 2021-04-12T15:35:15.183 回答
0

如果您通过 cloud-init 添加任何用户,ubuntu则根本不会创建默认用户。您会注意到该/home/ubuntu/目录不存在。

要创建允许 SSH 身份验证的 cloud-init 并设置密码以便我可以使用sudo,我已成功使用以下步骤:

使用以下命令创建密码哈希mkpasswd

$ mkpasswd -m sha-512
Password:  <enter your password here>
$6$nq4v1BtHB8bg$Oc2TouXN1KZu7F406ELRUATiwXwyhC4YhkeSRD2z/I.a8tTnOokDeXt3K4mY8tHgW6n0l/S8EU0O7wIzo.7iw1

然后,我在 cloud-init 中使用此部分:

users:
  - name: brandon
    groups: [ sudo ]
    shell: /bin/bash
    lock_passwd: false
    passwd: "$6$nq4v1BtHB8bg$Oc2TouXN1KZu7F406ELRUATiwXwyhC4YhkeSRD2z/I.a8tTnOokDeXt3K4mY8tHgW6n0l/S8EU0O7wIzo.7iw1"
    ssh-authorized-keys:
    - ssh-ed25519 AAAAC3NzaC1lZDI1zzzBBBGGGg3BZFFzTexMPpOZJbSa6OlzycjkPhsh4Qg2tSWZyXZ my-key-name

我更喜欢使用groups: [ sudo ]语法通过组授予对 sudo 的访问权限,这是个人对sudo指令使用的偏好。

于 2022-02-04T05:26:06.870 回答