18.2. 使用 SSH 进行远程管理


ssh 软件包提供了一个加密的网络协议,可安全地将管理功能发送到远程虚拟化服务器。下面描述的方法使用 libvirt 管理连接(通过 SSH 连接安全地隧道)来管理远程机器。所有身份验证均使用由本地 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 -
    Copy to Clipboard Toggle word wrap
  2. 生成 SSH 密钥对

    在使用 virt-manager 的机器上生成一个公钥对。这个示例在 ~/.ssh/ 目录中使用默认密钥位置。
    # ssh-keygen -t rsa
    Copy to Clipboard Toggle word wrap
  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:
    
    Copy to Clipboard Toggle word wrap
    之后,尝试登录到机器,并检查 .ssh/authorized_keys 文件,以确保还没有添加意外的密钥:
    ssh root@host2.example.com
    Copy to Clipboard Toggle word wrap
    根据需要为其他系统重复此操作。
  4. 可选:将密码短语添加到 ssh-agent

    如果需要,将 SSH 密钥的 pass-phrase 添加到 ssh-agent。在本地主机中,使用以下命令添加 pass-phrase(如果有)以启用无密码登录。
    # ssh-add ~/.ssh/id_rsa
    Copy to Clipboard Toggle word wrap
    如果 ssh-agent 未在运行,这个命令将无法运行。为避免错误或冲突,请确保您的 SSH 参数设置正确。如需更多信息,请参阅 Red Hat Enterprise System Administration Guide

libvirt 守护进程 (libvirtd)

libvirt 守护进程提供了管理虚拟机的接口。您必须已在您要以这种方式管理的每个远程主机上安装并运行 libvirtd 守护进程。

$ ssh root@somehost
# systemctl enable libvirtd.service
# systemctl start libvirtd.service
Copy to Clipboard Toggle word wrap
配置 libvirtdSSH 后,您应该能够远程访问和管理虚拟机。此时,也应该能够通过 VNC 访问您的 guest。

使用 virt-manager 访问远程主机

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

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

    图 18.1. 添加连接菜单

  3. 使用下拉菜单选择虚拟机监控程序类型,然后单击 Connect to remote host 复选框以打开连接方法(本例中为 Remote tunnel over SSH),输入 User nameHostname,然后单击 Connect
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat