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 :

  1. Ouvrez un terminal sur votre machine hôte.
  2. 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
  3. 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>
  4. 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_dhcp_leases.sh
virsh net-dhcp-leases default

Exemple de sortie :

virsh_dhcp_leases_output.txt
 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:64

Maintenant vous pouvez vous connecter en SSH à la VM en utilisant l’adresse IP affichée dans la sortie :

ssh_into_vm.sh
ssh myuser@192.168.122.73

Si 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.


Consultez les articles similaires par catégorie : VirtIO