第 13 章 虚拟客户端的远程管理
这部分将论述如何使用 ssh
、TLS 和 SSL 远程管理您的虚拟化客户端。
13.1. 使用 SSL 进行远程管理
ssh
软件包提供加密网络协议,可向远程虚拟化服务器安全发送管理功能。本方法使用 libvirt
通过 SSH 连接安全管理远程机器。所有验证都通过 SSH 公钥加密法和密码或者由您的本地 SSH 代理获得的密码短语进行。另外,每个客户端虚拟机的 VNC 控制台都将通过 SSH 连接。
SSH 通常是默认配置的,这样您就可以设定 SSH 密钥,并且不需要额外的防火墙规则访问管理服务或者 VNC 控制台。
Be aware of the issues with using SSH for remotely managing your virtual machines, including:
您需要以根用户身份登录访问远程机器来管理虚拟机,
最初的连接设定过程可能很慢,
没有一种标准或者简单的方法来撤销所有主机或者客户端中的用户密钥,且
ssh 在处理大量远程机器时效果并不好。
为 virt-manager
配置 SSH 访问。
以下操作假设您是从头开始的,且还没有设定 SSH 密钥。
您需要在您运行
virt-manager
的机器中有一个公钥对。如果您已经配置了ssh
,请跳过这个命令。$ ssh-keygen -t rsa
要允许远程登录,
virt-manager
需要在每个运行libvirt
的远程机器中有一个公钥副本。请使用scp
命令从您要用来进行远程管理的机器中复制文件$HOME/.ssh/id_rsa.pub
:$ scp $HOME/.ssh/id_rsa.pub root@somehost:/root/key-dan.pub
文件复制完成后,请以根用户身份使用
ssh
命令连接到远程机器并将您复制的文件添加到认证的密钥列表中。如果远程主机中的根用户还没有认证的密钥列表,请确定正确设定了该文件的权限。- $ ssh root@
somehost
- # mkdir /root/.ssh
- # chmod go-rwx /root/.ssh
- # cat /root/key-dan.pub >> /root/.ssh/authorized_keys
- # chmod go-rw /root/.ssh/authorized_keys
- $ ssh root@
libvirt
守护进程(libvirtd
)
libvirt
守护进程提供管理虚拟机的界面。您应该使用安装的 libvirtd
守护进程并在每个需要您管理的远程主机中运行该进程。使用 Fedora kernel-xen
软件包需要 speci TODO。
- $ ssh root@
somehost
- # chkconfig libvirtd on
- # service libvirtd start
配置完 libvirt
和 SSH 后,您应该可以远程访问并管理您的虚拟机。此时您还应该可以使用 VNC
访问您的客户端。