[KVM] 仮想OSのUbuntuにログインできない

  • ホストOSをUbuntuにしてKVMでUbuntu 22.04や24.04を仮想OSとして使用したい
  • 仮想OSのログイン画面までは進むが、ログインしようとしたら Login incorrect になってログインできない
  • このときの user-data は以下のように設定している
#cloud-config
hostname: ubuntu2404
users:
  - name: {your_name}
    lock_passwd: false
    password: 'xxxxx.....'
    ssh-authorized-keys:
      - ssh-ed25519 xxxxx.....
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    shell: /bin/bash
    uid: 1000
ssh_pwauth: true
disable_root: true
chpasswd:
  expire: false
timezone: Asia/Tokyo
locale: ja_JP.UTF-8
network:
  version: 2
  ethernets:
    ens3:
      dhcp4: true

かなり無駄にドツボっていたのですが、以下あたりを順に確認していけば解決すると思います。

  • password ではなくて passwd (これのtypoが一番ドツボりました…)
  • passwd にはハッシュ化されたパスワードを設定する
  • chpasswdplain_text_passwd: false を加える
#cloud-config
hostname: ubuntu2404
users:
  - name: {your_name}
    lock_passwd: false
    passwd: 'xxxxx.....'
    ssh-authorized-keys:
      - ssh-ed25519 xxxxx.....
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    shell: /bin/bash
    uid: 1000
ssh_pwauth: true
disable_root: true
chpasswd:
  expire: false
  plain_text_passwd: false
timezone: Asia/Tokyo
locale: ja_JP.UTF-8
network:
  version: 2
  ethernets:
    ens3:
      dhcp4: true

KVMに慣れていない間は、仮想OSの再作成を行う前に都度以下のようにリソースを完全に削除してから作成するようにすると、どの設定が効いているのかを明確にできるので良いかと思います。

virsh undefine ubuntu2404 --remove-all-storage