如何为Ubuntu Linux VM启用KVM virsh控制台访问
时间:2020-01-09 14:17:05 来源:igfitidea点击:
使用Ubuntu Linux将KVM设置为新的来宾虚拟机。
但是,我无法使用以下命令:virsh console vm。
如何设置和启用控制台访问权限,以便在新创建的Ubuntu Linux 16.04 LTS VM上获得shell程序访问权限?
在Ubuntu Linux 16.04 LTS guest虚拟机中激活串行控制台是登录和解决问题的绝佳方法。
服务器配置
- KVM主机IP:192.168.2.15
- KVM来宾操作系统:Ubuntu Linux 16.04 LTS
- KVM访客IP:192.168.2.45
- KVM来宾名称:ubuntu-box1
- KVM来宾用户名:Hyman
- KVM访客密码:hidden-secrete
如何设置Ubuntu 16.04 KVM Guest的控制台访问权限
首先,您需要使用ssh或VNC客户端登录到Ubuntu来宾。
使用ssh登录
在此示例中,我使用ssh客户端从工作站(或在KVM主机本身上执行命令)登录到Ubuntu Linux VM guest虚拟机:
$ ssh [email protected]
登录后,可以访问根shell:
$ sudo -s
使用vnc登录
在KVM主机上执行以下命令:
$ virsh dumpxml ubuntu-box1 | grep vnc `<graphics type='vnc' port='5901' autoport='yes' listen='127.0.0.1'>`
请记下端口值(即5901)。
您需要使用SSH客户端设置隧道,并使用VNC客户端访问远程vnc服务器。
从Linux/Unix/MacOS客户端或台式机系统中执行以下SSH端口转发命令:
$ ssh {user}@{KVM-host-IP-here} -L 5901:127.0.0.1:5901 $ ssh [email protected] -L 5901:127.0.0.1:5901
一旦建立了ssh隧道,就可以在VNC客户端中将VNC客户端指向自己的IP 127.0.0.1(localhost)地址和端口5901,如下所示:
图形VNC客户端连接到Ubuntu Linux 16.04 LTS服务器控制台
在Ubuntu guest虚拟机中配置串行控制台
最后,执行以下两个命令,以使客户机中的串行控制台能够使用virsh console命令访问连接:
$ sudo systemctl enable [email protected] $ sudo systemctl start [email protected]
输出示例:
Created symlink from /etc/systemd/system/getty.target.wants/[email protected] to /lib/systemd/system/[email protected].
如何从KVM主机访问Ubuntu 16.04 KVM Guest的控制台
要查看正在运行的VM的列表,请执行:
$ virsh list
输出示例:
Id Name State --------------------------------------------------- 1 freebsd running 2 ubuntu-box1 running 3 ubuntu-box2 running
在KVM主机上执行以下命令以登录名为ubuntu-box1的来宾
$ virsh console ubuntu-box1
或者
$ virsh console 2