Differences between revisions 19 and 20
Revision 19 as of 2021-07-15 02:03:07
Size: 3687
Editor: ThomasChung
Revision 20 as of 2021-07-15 02:03:43
Size: 3698
Editor: ThomasChung
Deletions are marked like this. Additions are marked like this.
Line 145: Line 145:
Now, you should be able to login the VM create from Cloud Image Now, you should be able to login the VM which was created from Cloud Image

How to import Cloud Image to Virtual Machines on Debian 10

Download the latest Debian 10 cloud image in qcow2 format

$ curl -L -O https://cloud.debian.org/images/cloud/buster/latest/debian-10-genericcloud-amd64.qcow2
$ du -sh *.qcow2
223M    debian-10-genericcloud-amd64.qcow2

Reset root password on cloud image

You can ignore warning

Your system might not have install virt-customize

To install virt-customize:

$ sudo apt update
$ sudo apt install libguestfs-tools
$ which virt-customize

To reset root password with virt-customize:

$ virt-customize -a debian-10-genericcloud-amd64.qcow2 --root-password password:debian
[   0.0] Examining the guest ...
[  22.9] Setting a random seed
virt-customize: warning: random seed could not be set for this type of
[  23.0] Setting the machine ID in /etc/machine-id
[  23.0] Setting passwords
[  26.9] Finishing off

Copy cloud image to images directory for libvirt

$ sudo cp debian-10-genericcloud-amd64.qcow2 /var/lib/libvirt/images/d10c.qcow2

Create VM with import option

$ virt-install --import \
--connect qemu:///system \
--autostart \
--name d10c \
--os-variant debian10 \
--memory 2048 \
--vcpus 2 \
--disk /var/lib/libvirt/images/d10c.qcow2,bus=virtio \
--network default

Login to VM

Make sure the VM is up-n-running

$ virsh dominfo d10c
Id:             76
Name:           d10c
UUID:           5dbcd917-5984-42c2-86c5-75882a1d1216
OS Type:        hvm
State:          running
CPU(s):         2
CPU time:       12.3s
Max memory:     2097152 KiB
Used memory:    2097152 KiB
Persistent:     yes
Autostart:      enable
Managed save:   no
Security model: apparmor
Security DOI:   0
Security label: libvirt-5dbcd917-5984-42c2-86c5-75882a1d1216 (enforcing)

Get the IP from the VM

$ virsh domifaddr d10c
Name       MAC address          Protocol     Address
 vnet11     52:54:00:36:28:f6    ipv4

Edit /etc/hosts to add d10c

$ sudo vi /etc/hosts
...  d10c   # Debian 10 Cloud Image

Now, you can login with the password you've reset earlier

$ ssh d10c
Connection closed by port 22

Hmm, is openssh-server installed?

It turns out openssh-server is installed but without host keys

It's better re-install openssh-server

Open the VM and reinstall openssh-server

Open the VM with virt-viewer

$ virt-viewer d10c

Login as root to reinstall openssh-server

# apt update
# apt install --reinstall openssh-server

Now you'll need to add user account to login with

Make sure to add the user to sudo group

# adduser tchung
# adduser tchung sudo

Make sure to enable PasswordAuthentication in sshd_config

# vi /etc/ssh/sshd_config
PasswordAuthentication yes
# systemctl reload sshd


Now, you should be able to login the VM which was created from Cloud Image

$ ssh d10c
tchung@d10c's password: 
Linux debian 4.19.0-17-cloud-amd64 #1 SMP Debian 4.19.194-1 (2021-06-10) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.