本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

访问虚拟机

一旦虚拟机启动并运行,您可以通过 SUSE Virtualization 界面的虚拟网络计算 (VNC) 客户端或串行控制台访问它。

此外,您可以直接从计算机的 SSH 客户端连接。

通过 SUSE Virtualization 界面访问

虚拟机可以直接通过 UI 使用 VNC 或串行控制台访问。

如果虚拟机上未启用 VGA 显示,例如 Ubuntu-Minimal-Cloud 镜像,则只能通过串行控制台访问虚拟机。

access to vm

SSH 访问

SUSE Virtualization 提供两种将 SSH 公钥注入虚拟机的方法。通常,这些方法分为两类。静态密钥注入,在虚拟机首次启动时将密钥放入 cloud-init 脚本;动态注入,允许在运行时动态更新密钥或基本身份验证。

通过 cloud-init 进行静态 SSH 密钥注入

您可以在 Basics 标签的创建过程中为虚拟机提供 SSH 密钥。此外,您可以将 SSH 公钥放入 cloud-init 脚本中以允许其生效。

vm ssh keys

SSH 密钥 cloud-init 配置示例:

#cloud-config
ssh_authorized_keys:
  - >-
    ssh-rsa #replace with your public key

通过 qemu 客户端代理进行动态 SSH 密钥注入

SUSE Virtualization 支持通过使用 qemu 客户端代理 在运行时动态注入 SSH 公钥。这是通过 qemuGuestAgent 传播方法实现的。

此方法要求在虚拟机中安装 qemu 客户端代理。

使用 qemuGuestAgent 传播时,/home/$USER/.ssh/authorized_keys 文件将由 qemu 客户端代理拥有。在 qemu 客户端代理控制之外对该文件所做的更改将被删除。

您可以通过执行以下步骤在SUSE Virtualization用户界面中注入您的访问凭据:

  1. 选择虚拟机。

  2. 选择*⋮ → 编辑配置*。

  3. 在*访问凭据*选项卡上,添加基本身份验证凭据或 SSH 密钥。

    您只能添加已存在于来宾操作系统中的用户。例如,如果您使用的是 openSUSE,您可以添加用户 opensuse 并选择 SSH 密钥。

  4. 单击*保存*。

  5. 验证 qemu 客户端代理是否已安装。

  6. 重新启动虚拟机。

在从用户界面删除凭据后,您需要进入虚拟机以编辑密码或删除 SSH 密钥。

vm add access credentails

使用 SSH 客户端访问

一旦虚拟机启动并运行,您可以在终端仿真客户端(如 PuTTY)中输入虚拟机的 IP 地址。您还可以运行以下命令,直接从计算机的 SSH 客户端访问虚拟机:

 ssh -i ~/.ssh/your-ssh-key user@<ip-address-or-hostname>