Wie man eine Shell in einer virsh-Domain / VM ausführt
Um eine Shell in einer virsh-Domain (VM) auszuführen, können Sie den virsh console-Befehl verwenden. Dies ermöglicht es Ihnen, sich mit der Konsole einer laufenden virtuellen Maschine zu verbinden. So geht’s:
- Öffnen Sie ein Terminal auf Ihrem Host-Rechner.
- Listen Sie die laufenden Domains auf, um den Namen oder die ID der VM zu finden, mit der Sie sich verbinden möchten:run_shell_in_vm.sh
virsh list - Verbinden Sie sich mit der Konsole der gewünschten VM über ihren Namen oder ihre ID:virsh_console.sh
virsh console <domain-name-or-id> - Beenden Sie die Konsole, wenn Sie fertig sind, indem Sie
Ctrl+]drücken (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 können Sie sich nur über SSH mit der VM verbinden, wenn sie einen laufenden SSH-Server hat. Sie können dies tun, indem Sie die Methode aus libvirt/virsh: Wie man alle Domains/VMs mit ihren IP-Adressen auflistet verwenden:
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 können Sie sich per SSH in die VM mit der in der Ausgabe gezeigten IP-Adresse einloggen:
Wenn die Verbindung über SSH für Sie nicht funktioniert
In diesem Fall müssen Sie die serielle Konsole konfigurieren und die VM neu starten.
Folgen Sie der Methode von Ravada, um das zu tun.