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:
- Öffne ein Terminal auf deinem Host-Rechner.
- 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 - Verbinde dich mit der Konsole der gewünschten VM über ihren Namen oder ihre ID:virsh_console.sh
virsh console <domain-name-or-id> - 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 net-dhcp-leases defaultBeispiel-Ausgabe:
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:64Jetzt kannst du dich per SSH in die VM mit der in der Ausgabe gezeigten IP-Adresse einloggen:
ssh myuser@192.168.122.73Wenn 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.