5.3. 使用 SSH 连接到虚拟机
要使用 SSH 连接协议与虚拟机(VM)终端进行交互,请按照以下流程操作。
先决条件
- 有对目标虚拟机的网络连接和 root 访问权限。
- 如果目标虚拟机位于远程主机上,您也可以拥有对该主机的连接和 root 访问权限。
您的虚拟机网络由
libvirt
生成的dnsmasq
分配 IP 地址。这是libvirt
NAT 网络 中的示例。值得注意的是,如果您的虚拟机使用以下网络配置之一,则无法使用 SSH 连接到虚拟机:
-
hostdev
接口 - 直接接口
- 网桥接口
-
在虚拟机主机上已安装并启用了
libvirt-nss
组件。如果没有,请执行以下操作:安装
libvirt-nss
软件包:# dnf install libvirt-nss
编辑
/etc/nsswitch.conf
文件,并将libvirt_guest
添加到hosts
行中:... passwd: compat shadow: compat group: compat hosts: files libvirt_guest dns ...
流程
当连接到远程虚拟机时,请首先 SSH 到其物理主机。以下示例演示了如何使用其 root 凭证连接到主机
192.0.2.1
:# ssh root@192.0.2.1 root@192.0.2.1's password: Last login: Mon Sep 24 12:05:36 2021 root~#
使用虚拟机的名称和用户访问凭证来连接它。例如,以下命令使用其 root 凭证连接到
testguest1
虚拟机:# ssh root@testguest1 root@testguest1's password: Last login: Wed Sep 12 12:05:36 2018 root~]#
故障排除
如果您不知道虚拟机的名称,您可以使用
virsh list --all
命令列出主机上所有可用的虚拟机:# virsh list --all Id Name State ---------------------------------------------------- 2 testguest1 running - testguest2 shut off
其它资源