第 5 章 客户机的远程管理


本节介绍如何使用 ssh 或 TLS 和 SSL 远程管理客户机。有关 SSH 的更多信息,请参见《 Red Hat Enterprise Linux 部署指南》

5.1. 使用 SSH 进行远程管理

ssh 包提供了加密网络协议,可安全地向远程虚拟服务器发送管理功能。上述方法使用通过 SSH 连接安全地隧道化的 libvirt 管理连接来管理远程机器。所有验证都使用本地 SSH 代理收集的 SSH 公钥加密和密码或密码短语完成。此外,每个 guest 的 VNC 控制台也通过 SSH 进行隧道化。
请注意,使用 SSH 远程管理虚拟机时出现问题,包括:
  • 您需要 root 登陆到远程机器来管理虚拟机,
  • 初始连接设置过程可能很慢,
  • 无法对所有主机或客户机撤销用户密钥的标准或简单方法,
  • SSH 无法很好地扩展更大的远程机器。
注意
Red Hat Virtualization 允许远程管理大量虚拟机。详情请查看 Red Hat Virtualization 文档。
ssh 访问需要以下软件包:
  • openssh
  • openssh-askpass
  • openssh-clients
  • openssh-server

virt-manager配置无密码管理的 SSH 访问

以下说明假设您从头开始启动,并且尚未设置 SSH 密钥。如果您将 SSH 密钥设置并复制到其它系统中,您可以跳过这个过程。

重要
SSH 密钥依赖于用户,只能供其所有者使用。密钥的所有者是生成它的用户。键不能共享。
virt-manager 必须由拥有要连接到远程主机的密钥的用户运行。这意味着,如果远程系统由非 root 用户 virt-manager 管理,则必须以非特权模式运行。如果远程系统由本地 root 用户管理,则 SSH 密钥必须由 root 所有并创建。
您不能使用 virt-manager 以非特权用户管理本地主机。
  1. 可选:更改用户

    根据需要更改用户。本示例使用本地 root 用户来远程管理其他主机和本地主机。
    $ su -
  2. 生成 SSH 密钥对

    使用机器 virt-manager 上的公钥对。本例使用 ~/.ssh/ 目录中的默认密钥位置。
    # ssh-keygen -t rsa
  3. 将密钥复制到远程主机

    不带密码或密码短语进行远程登录,需要向受管理的系统分发 SSH 密钥。使用 ssh-copy-id 命令,在提供的系统地址(示例中为 root@host2.example.com)将密钥复制到 root 用户。
    # ssh-copy-id -i ~/.ssh/id_rsa.pub root@host2.example.com
    root@host2.example.com's password:
    
    现在,尝试使用 ssh root@host2.example.com 命令登录到机器,并在 .ssh/authorized_keys 文件中检查以确保尚未添加意外密钥。
    根据需要,对其他系统重复此操作。
  4. 可选:在 ssh-agent 中添加密码短语

    下面的说明描述了如何在现有 ssh-agent 中添加密码短语。如果 ssh-agent 未在运行,它将无法运行。为了避免错误或冲突,请确保正确设置了 SSH 参数。如需更多信息,请参阅 Red Hat Enterprise Linux 部署指南
    如果需要,将 SSH 密钥的密语添加到 ssh-agent。在本地主机上,使用以下命令添加密码短语(如果有)来启用免密码登录。
    # ssh-add ~/.ssh/id_rsa
    SSH 密钥被添加到远程系统。

libvirt 守护进程(libvirtd)

libvirt 守护进程提供用于管理虚拟机的接口。您必须在需要管理的每个远程主机中安装并运行 libvirtd 守护进程。

$ ssh root@somehost
# chkconfig libvirtd on
# service libvirtd start
配置 libvirtdSSH 后,您应能够远程访问和管理虚拟机。此时您应当能够使用 VNC 访问您的 guest。

使用 virt-manager 访问远程主机

远程主机可以使用 virt-manager GUI 工具进行管理。SSH 密钥必须属于执行 virt-manager 的用户,以便免密码登录才能工作。

  1. 启动 virt-manager。
  2. 打开 File->Add Connection 菜单。

    图 5.1. 添加连接菜单

    添加连接菜单
  3. 使用下拉菜单选择管理程序类型,然后单击" 连接到远程主机 "复选框以打开"连接方法"(在本例中为 Remote tunnel over SSH),然后输入所需的 User nameHostname,然后单击 Connect
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.