如何使用 virsh 从命令行打开虚拟机

如何使用 virsh 从命令行打开虚拟机

我可以从命令行启动虚拟机,然后通过 ssh 连接,但我需要 ip 地址来执行此操作。检查 ifconfig 给出了网关,但没有给出机器号。我尝试了以下操作:-

brian@boris:~$ sudo virsh console ubuntu18.04

[sudo] brian 的密码:

连接到域 ubuntu18.04

转义字符是 ^]

从她那里它就挂了,我无法退出,我必须关闭终端。是否可以在没有 SSH 的情况下为 VM 打开 shell?

答案1

virsh console <guestname>您尝试的命令允许您访问系统的串行控制台。在您的情况下,这似乎已经存在配置错误问题,因为对于正在运行的来宾,您希望看到主控制台上的内容,例如启动消息,然后是登录提示。但请注意,这不会“重播”内容。因此,如果您virsh console <guestname>在生命周期的后期进入,则不会打印任何内容。如果来宾正常工作并且您按下 Enter,则很可能会看到登录提示出现。但这不是您要求的 ssh 连接。

我读了你的“但我需要 IP 地址才能执行此操作“作为您当前的主要问题。如果您使用了默认设置,那么 libvirt 将为您的客户机设置 dhcp - 在这种情况下,它还可以告诉您,例如:

$ virsh domifaddr focal
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 vnet1      52:54:00:2d:4b:e8    ipv4         192.168.122.3/24

如果您已将客户机设置为启用 ssh,则现在可以使用 ssh 尝试通过它进行连接。相反,如果您已将客户机桥接到外部网络,该网络会在那里执行 dhcp,则取决于该设置来查找客户机 IP“从外部“。

相关内容