Acceda a máquinas virtuales KVM a través de VNC sin reenvío de puertos con SSH

10

¿Es posible acceder a las máquinas virtuales sin tener que reenviar el puerto remoto y VNC al localhost? Me gustaría poder VNC en el servidor KVM y ver la pantalla de las máquinas virtuales.

Shoan
fuente

Respuestas:

12

Encontré la respuesta después de buscar y encontré lo siguiente en /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"

Descomenté la línea anterior y reinicié libvirtdpara encontrar que todavía no podía acceder a VNC a través de la red. Esta vez fue el culpable iptables. En Centos, solía system-config-firewall-tuipermitir el acceso a VNC.

Shoan
fuente
Exactamente lo que estaba buscando.
Heiko Rupp
No olvide desbloquear puertos con firewall en el host KVM (hipervisor) para poder acceder a su servidor VNC, por ejemplo firewall-cmd --permanent --add-port=5900/tcp; firewall-cmd --reload. Puede ver estos puertos abiertos en el host KVM (como ESCUCHAR) en la salida de un comando netstat -panto ss -pant.
Milan Kerslager
después de modificar esa opción en qemu.conf, ¿qué servicio reiniciarías?
Philippe Gachoud
1

si VNC al host KVM, significa que debe tener un servidor X en ejecución (algo completamente redundante en un hipervisor, pero esa es su elección). Como ya tiene un escritorio, no hay nada que le impida ejecutar virt-viewero virt-manageracceder directamente a una consola de invitado. Por otro lado, si la VM qemu-kvm se está ejecutando con soporte VNC, simplemente puede conectarse directamente a la consola VNC de la VM

dyasny
fuente
No tengo un servidor X ejecutándose en el host KVM. Puede crear máquinas virtuales con salida de vnc que obligue al hipervisor a crear un servidor vnc para ver la consola de la máquina virtual. Esto es muy útil en sistemas operativos no unixy como Windows. Pero, de manera predeterminada, el servidor vnc solo escucha localhost.
Shoan el
Esto es exactamente lo que quise decir en la segunda parte de mi publicación. Supongo que podría haber formulado la pregunta un poco mejor, para abordar el problema de que el oyente VNC predeterminado apunte a localhost y no a la captura general 0.0.0.0. Por supuesto, esto se hace por razones de seguridad
dyasny
Al momento de preguntar, no era obvio lo que estaba buscando hasta que encontré la respuesta. Tienes razón, que la pregunta debería haber sido mejor.
Shoan