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