Você não está fazendo nada errado. O protocolo VNC especifica que a "porta" não é realmente uma porta, mas um deslocamento de 5900, a porta VNC padrão.
Assim, localhost:0
se conectaria à porta 5900, localhost:1
se conectaria à porta 5901, etc.
Por padrão, o libvirt apenas liga os listeners do VNC ao localhost, independentemente do que você especificar na linha de comando. Para mudar isso, você precisa editar a opção apropriada em /etc/libvirt/qemu.conf
.
# VNC is configured to listen on 127.0.0.1 by default.
# To make it listen on all public interfaces, uncomment
# this next option.
#
# NB, strong recommendation to enable TLS + x509 certificate
# verification when allowing public access
#
#vnc_listen = "0.0.0.0"
Certifique-se de recarregar ou reiniciar o libvirtd depois de fazer essa alteração.