5.5. Mise en place d'un accès facile aux hôtes de virtualisation distants
Lorsque vous gérez des machines virtuelles sur un système hôte distant à l'aide des utilitaires libvirt, il est recommandé d'utiliser la syntaxe -c qemu ssh://root@hostname/system
. Par exemple, pour utiliser la commande virsh list
en tant que root sur l'hôte 192.0.2.1
:
# virsh -c qemu+ssh://root@192.0.2.1/system list
root@192.0.2.1's password:
Id Name State
---------------------------------
1 remote-guest running
Cependant, vous pouvez supprimer la nécessité de spécifier les détails de la connexion en modifiant votre configuration SSH et libvirt. Par exemple :
# virsh -c remote-host list
root@192.0.2.1's password:
Id Name State
---------------------------------
1 remote-guest running
Pour activer cette amélioration, suivez les instructions ci-dessous.
Procédure
Modifiez le fichier
~/.ssh/config
avec les détails suivants, où host-alias est un nom abrégé associé à un hôte distant spécifique et un alias pour root@192.0.2.1, et hosturl est l'adresse URL de l'hôte :# vi ~/.ssh/config Host example-host-alias User root Hostname 192.0.2.1
Modifiez le fichier
/etc/libvirt/libvirt.conf
avec les détails suivants, le example-qemu-host-alias est un alias d'hôte que les utilitaires QEMU et libvirt associeront àqemu ssh://192.0.2.1/system
avec l'hôte prévu example-host-alias:# vi /etc/libvirt/libvirt.conf uri_aliases = [ "example-qemu-host-alias=qemu+ssh://example-host-alias/system", ]
Vérification
Confirmez que vous pouvez gérer des machines virtuelles distantes en utilisant des utilitaires basés sur libvirt sur le système local avec un paramètre supplémentaire
-c qemu-host-alias
ajouté. Cela permet d'exécuter automatiquement les commandes via SSH sur l'hôte distant.Par exemple, vérifiez que la liste suivante répertorie les machines virtuelles sur l'hôte distant 192.0.2.1, dont la connexion a été configurée à l'adresse example-qemu-host-alias dans les étapes précédentes :
# virsh -c example-qemu-host-alias list root@192.0.2.1's password: Id Name State ---------------------------------------- 1 example-remote-guest running
NoteOutre
virsh
, l'option-c
(ou--connect
) et la configuration de l'accès à l'hôte distant décrite ci-dessus peuvent être utilisées par les utilitaires suivants :
Prochaines étapes
Si vous souhaitez utiliser les utilitaires libvirt exclusivement sur un seul hôte distant, vous pouvez également définir une connexion spécifique comme cible par défaut pour les utilitaires basés sur libvirt. Toutefois, cela n'est pas recommandé si vous souhaitez également gérer des machines virtuelles sur votre hôte local ou sur différents hôtes distants.
Vous pouvez éditer le fichier
/etc/libvirt/libvirt.conf
et définir la valeur du paramètreuri_default
à example-qemu-host-alias comme cible libvirt par défaut.# 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 = "example-qemu-host-alias"
Par conséquent, toutes les commandes basées sur libvirt seront automatiquement exécutées sur l'hôte distant spécifié.
$ virsh list root@192.0.2.1's password: Id Name State --------------------------------- 1 example-remote-guest running
Lorsque vous vous connectez à un hôte distant, vous pouvez éviter de fournir le mot de passe root au système distant. Pour ce faire, utilisez une ou plusieurs des méthodes suivantes :
- Configurer l'accès SSH à l'hôte distant à l'aide d'une clé
- Utiliser le multiplexage de connexion SSH pour se connecter au système distant
- Authentification Kerberos dans la gestion des identités
-
L'option
-c
(ou--connect
) peut être utilisée pour exécuter le programmevirt-install
,virt-viewer
etvirsh
sur un hôte distant.