有人可以为我提供适用于 Impish kvm/qemu 主机的 ubuntu-cloud-init.cfg 的工作示例吗?

有人可以为我提供适用于 Impish kvm/qemu 主机的 ubuntu-cloud-init.cfg 的工作示例吗?

我已经绞尽脑汁两天了,试图在 21.10 主机上为 21.10 客户虚拟机获取一个有效的云初始化配置。问题在于身份验证。没有用户可以使用 virsh 控制台对虚拟机进行身份验证。尝试通过 ssh 进入客户虚拟机时会收到“权限被拒绝”的提示。我只想让 ttyS0 控制台登录正常工作。

这是我的 cloud-init.yaml

users:
  - default
  - name: muh
    groups: [users, adm, sudo]
    primary_group: msh
    lock_passwd: false
    sudo: ["ALL=(ALL) NOPASSWD:ALL"]
    home: /home/muh
    shell: /bin/bash
    passwd: $6$rounds=4096$eaJbaLFRPeA.OA1J$nwGXJgDzreIiKgZSEvf3QU58SMoN/Hh5pno3L9.Ww/qhWOcDANz0ot8Yp3fIZob/sV1yzdO/xbGMuXH7QyPsB/

packages: 
  - qemu-guest-agent 
  - tmux 

final_message: "Up after $UPTIME"

以下是我设置种子 iso 和目标 qcow2 映像所采取的操作。

create -f qcow2 -b /var/iso/impish-server-cloudimg-amd64.img /var/kvm/kube4.qcow2 40G

qemu-img:警告:不建议使用没有明确备份格式的备份文件(检测到的 qcow2 格式)格式化“/var/kvm/kube4.qcow2”,fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=42949672960 backing_file=/var/iso/impish-server-cloudimg-amd64.img backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16

cloud-localds -v --network-config=/srv/init/ubuntu-network-init.cfg /var/kvm/kube4-seed.img /srv/init/ubuntu-cloud-init.cfg

使用 filesystem=iso9660 和 diskformat=raw 写入 /var/kvm/kube4-seed.img

这是我的 virt-install 语法。

virt-install --name kube4 \
  --virt-type kvm --memory 4096 --vcpus 2 \
  --boot hd,menu=on \
  --disk path=/var/kvm/kube4-seed.img,device=cdrom \
  --disk path=/var/kvm/kube4.qcow2,device=disk \
  --os-type Linux \
  --os-variant ubuntu20.04 \
  --network bridge=br0 \
  --console pty,target_type=serial \
  --noautoconsole

如果我挂载虚拟机的磁盘,我会看到我的“自定义”用户和 ubuntu 用户被锁定。

muh:!:19109:0:99999:7:::
ubuntu:!:19109:0:99999:7:::

答案1

这有效。

#cloud-config
groups:
  - admingroup: [root,sys,muh]
  - cloud-users
users:
  - default:
  - name: muh
    hashed_passwd: $6$rounds=4096$yHtXbsaPlIvgAUgE$frghQYnGgYCklXspnl.j13uhf1UHptZ1V74n5eHvH4QBeAlMZn38C/APVb.7/wi/WBmeipgEVd.APscjqpCa//
    shell: /bin/bash
    home: /home/muh
    lock-passwd: false
    ssh_pwauth: true
    chpasswd: {expire: false}
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: sudo, adm, admin
    ssh_authorized_keys:
      - AAAAB3NzaC1yc2EAAAADAQABAAABAQDF1lV7RYWz88LXvthQA4Z/9YUhiRKMr+RWtBd3K6PaSEQoZh6fAxev1mDywR51NX216gjKETP+zuVuwKPWhFMTxe2l4DO68XWC86Agt+YeCjwyIbtzZqjjkD1Oz/cpEi+GQGXY3tvkGMasx9GHqgBnv2KimMZQH9CoHSOqmgoWBvsWmxUG12lBEZZMcM/vLmsD9Eo1sYmEMW4/CPiREC2h6MAx3s+XFxjLjD6CrDTSJAy5B59oXw25Z+fWdlwAJaUpY2qiWhgp4Vbc2L/DEZtp4QJMXrIlIfba3yMPdjXr8loEn73xZ4PXb0WUmDxdko/Vvs/LzrEAupbv6kIjPFA5 muh@fnordic

相关内容