How to enable KVM virsh console access
Requirements
The virtual machine must have the pty configured. From the KVM server edit the domain and make sure there is this section:
From KVM Server
sudo virsh edit virtual-machine
<serial type='pty'>
<source path='/dev/pts/0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/0'>
<source path='/dev/pts/0'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
From Debian / Ubuntu guest
You eithar have to enable the serial service or add it to grub.
Option 1: Enable Serial Service
sudo systemctl enable --now serial-getty@ttyS0.service
Option 2: Add console to grub
Search for the grub.cfg configuration file and add this to GRUB_CMDLINE_LINUX_DEFAULT:
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
From KVM server
virsh list
Id Name State
----------------------------------------------------
1 freebsd running
2 ubuntu-box1 running
3 ubuntu-box2 running
Type the following command from KVM host to login to the guest named ubuntu-box1
virsh console ubuntu-box1
OR
virsh console 2
Use CTRL + 5
to exit the console.