Comment exécuter un shell dans un domaine virsh / VM
Pour exécuter un shell dans un domaine virsh (VM), vous pouvez utiliser la commande virsh console. Cela vous permet de vous connecter à la console d’une machine virtuelle en cours d’exécution. Voici comment faire :
- Ouvrez un terminal sur votre machine hôte.
- Listez les domaines en cours d’exécution pour trouver le nom ou l’ID de la VM à laquelle vous voulez vous connecter :run_shell_in_vm.sh
virsh list - Connectez-vous à la console de la VM souhaitée en utilisant son nom ou son ID :virsh_console.sh
virsh console <nom-ou-id-domaine> - Quittez la console lorsque vous avez terminé en appuyant sur
Ctrl+](c’est la séquence d’échappement par défaut pour virsh console).
Si virsh console ne fonctionne pas
Si virsh console ne fonctionne pas, cela peut être dû au fait que la VM n’a pas de console configurée sur son /dev/ttyS0.
Dans ce cas, vous pouvez uniquement vous connecter à la VM via SSH si elle a un serveur SSH en cours d’exécution. Vous pouvez le faire en utilisant la méthode de libvirt/virsh : Comment lister tous les domaines/VMs avec leurs adresses IP :
virsh net-dhcp-leases defaultExemple de sortie :
Expiry Time MAC address Protocol IP address Hostname Client ID or DUID
-----------------------------------------------------------------------------------------------------------------------------------------------------
2025-02-05 02:11:17 4c:68:29:d5:aa:55 ipv4 192.168.122.73/24 abcdefghi-vm01 ff:b5:5e:67:ff:00:02:00:00:ab:11:53:fb:4f:97:fb:ea:c5:13
2025-02-05 02:06:19 52:54:00:12:34:56 ipv4 192.168.122.76/24 test1234-vm ff:40:56:63:a2:00:02:00:00:ab:11:39:d1:c8:61:96:3d:82:64Maintenant vous pouvez vous connecter en SSH à la VM en utilisant l’adresse IP affichée dans la sortie :
ssh myuser@192.168.122.73Si la connexion via SSH ne fonctionne pas pour vous
Dans ce cas, vous devez configurer la console série et redémarrer la VM.
Suivez la méthode de Ravada pour ce faire.