Wie man eine Shell in einer virsh-Domain / VM ausführt

Um eine Shell in einer virsh-Domain (VM) auszuführen, kannst du den virsh console-Befehl verwenden. Dies ermöglicht es dir, dich mit der Konsole einer laufenden virtuellen Maschine zu verbinden. So geht’s:

  1. Öffne ein Terminal auf deinem Host-Rechner.
  2. Liste die laufenden Domains auf, um den Namen oder die ID der VM zu finden, mit der du dich verbinden möchtest:
    run_shell_in_vm.sh
    virsh list
  3. Verbinde dich mit der Konsole der gewünschten VM über ihren Namen oder ihre ID:
    virsh_console.sh
    virsh console <domain-name-or-id>
  4. Beende die Konsole, wenn du fertig bist, indem du Ctrl+] drückst (dies ist die Standard-Escape-Sequenz für virsh console).

Wenn virsh console nicht funktioniert

Wenn virsh console nicht funktioniert, liegt es möglicherweise daran, dass die VM keine Konsole auf ihrem /dev/ttyS0 konfiguriert hat.

In diesem Fall kannst du dich nur über SSH mit der VM verbinden, wenn sie einen laufenden SSH-Server hat. Du kannst dies tun, indem du die Methode aus libvirt/virsh: Wie man alle Domains/VMs mit ihren IP-Adressen auflistet verwendest:

virsh_dhcp_leases.sh
virsh net-dhcp-leases default

Beispiel-Ausgabe:

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

Jetzt kannst du dich per SSH in die VM mit der in der Ausgabe gezeigten IP-Adresse einloggen:

ssh_into_vm.sh
ssh myuser@192.168.122.73

Wenn die Verbindung über SSH für dich nicht funktioniert

In diesem Fall musst du die serielle Konsole konfigurieren und die VM neu starten.

Folge der Methode von Ravada, um das zu tun.


Ähnliche Beiträge nach Kategorie: VirtIO