Red Hat Training
A Red Hat training course is available for RHEL 8
2.4.5. Configuración de un acceso fácil a los hosts de virtualización remotos
Cuando se gestionan máquinas virtuales en un sistema anfitrión remoto utilizando las utilidades de libvirt, se recomienda utilizar la sintaxis -c qemu ssh://root@hostname/system
. Por ejemplo, para utilizar el comando virsh list
como root en el host 10.0.0.1:
# virsh -c qemu+ssh://root@10.0.0.1/system list
root@10.0.0.1's password:
Last login: Mon Feb 18 07:28:55 2019
Id Name State
---------------------------------
1 remote-guest running
Sin embargo, para mayor comodidad, puede eliminar la necesidad de especificar los detalles de la conexión en su totalidad modificando la configuración de SSH y libvirt. Por ejemplo, podrás hacer:
# virsh -c remote-host list
root@10.0.0.1's password:
Last login: Mon Feb 18 07:28:55 2019
Id Name State
---------------------------------
1 remote-guest running
Para habilitar esta mejora, siga las siguientes instrucciones.
Procedimiento
Edite o cree el archivo
~/.ssh/config
y añada lo siguiente, donde host-alias es un nombre abreviado asociado a un host remoto específico, y hosturl es la dirección URL del host.Host host-alias User root Hostname hosturl
Por ejemplo, lo siguiente configura el alias tyrannosaurus para root@10.0.0.1:
Host tyrannosaurus User root Hostname 10.0.0.1
Edita o crea el archivo
/etc/libvirt/libvirt.conf
, y añade lo siguiente, donde qemu-host-alias es un alias de host que las utilidades QEMU y libvirt asociarán con el host previsto:uri_aliases = [ "qemu-host-alias=qemu+ssh://host-alias/system", ]
Por ejemplo, lo siguiente utiliza el alias tyrannosaurus configurado en el paso anterior para configurar el alias t-rex, que significa
qemu ssh://10.0.0.1/system
:uri_aliases = [ "t-rex=qemu+ssh://tyrannosaurus/system", ]
Como resultado, puede gestionar las VMs remotas utilizando utilidades basadas en libvirt en el sistema local con un parámetro añadido
-c qemu-host-alias
parámetro. Esto realiza automáticamente los comandos a través de SSH en el host remoto.Por ejemplo, a continuación se enumeran las máquinas virtuales del host remoto 10.0.0.1, cuya conexión se configuró como t-rex en los pasos anteriores:
$ virsh -c t-rex list root@10.0.0.1's password: Last login: Mon Feb 18 07:28:55 2019 Id Name State --------------------------------- 1 velociraptor running
Optional: Si desea utilizar las utilidades de libvirt exclusivamente en un único host remoto, también puede establecer una conexión específica como objetivo por defecto para las utilidades basadas en libvirt. Para ello, edite el archivo
/etc/libvirt/libvirt.conf
y establezca el valor del parámetrouri_default
en qemu-host-alias. Por ejemplo, lo siguiente utiliza el alias de host t-rex configurado en los pasos anteriores como objetivo por defecto de libvirt.# These can be used in cases when no URI is supplied by the application # (@uri_default also prevents probing of the hypervisor driver). # uri_default = "t-rex"
Como resultado, todos los comandos basados en libvirt se ejecutarán automáticamente en el host remoto especificado.
$ virsh list root@10.0.0.1's password: Last login: Mon Feb 18 07:28:55 2019 Id Name State --------------------------------- 1 velociraptor running
Sin embargo, esto no es recomendable si también quiere gestionar máquinas virtuales en su host local o en diferentes hosts remotos.
Recursos adicionales
Al conectarse a un host remoto, puede evitar tener que proporcionar la contraseña de root al sistema remoto. Para ello, utilice uno o varios de los siguientes métodos:
- Configurar el acceso SSH basado en claves al host remoto.
- Utilice la multiplexación de la conexión SSH para conectarse al sistema remoto.
- Configure un ticket de autenticación kerberos en el sistema remoto. Para obtener instrucciones, consulte Autenticación Kerberos en Gestión de identidades.
Entre las utilidades que pueden utilizar la opción
-c
(o--connect
) y la configuración de acceso al host remoto descrita anteriormente se encuentran:- virt-install
- virt-viewer
- virsh
- virt-manager