8.5. 创建具有 SSH 访问权限的实例


您可以在创建实例时指定密钥对来提供实例的 SSH 访问。密钥对是 SSH 或 x509 凭据,在实例启动时注入到实例中。每个项目应至少有一个密钥对。密钥对属于单个用户,而不是项目。

注意

您不能在创建实例后将密钥对与实例关联。

您可以在实例创建过程中直接将安全组应用到实例,或应用到正在运行的实例上的端口。

注意

您无法在实例创建过程中将基于角色的访问控制 (RBAC) 共享安全组直接应用到实例。要将 RBAC 共享安全组应用到实例,您必须首先创建端口,将共享安全组应用到该端口,然后将该端口分配给实例。请参阅 创建和管理实例 中的 向端口添加安全组

先决条件

  • 可以使用密钥对 SSH 到您的实例。如需更多信息,请参阅生成新的 SSH 密钥对
  • 您计划在 上创建实例的网络必须是外部网络,或者连接到将外部网络配置为网关的路由器的项目网络。如需更多信息,请参阅配置 Red Hat OpenStack Platform 网络指南中的 添加路由器
  • 实例连接的外部网络必须具有子网来提供浮动 IP 地址。
  • 安全组允许 SSH 访问实例。如需更多信息,请参阅使用安全组和密钥对保护实例访问
  • 实例所基于的镜像包含 cloud-init 软件包,用于将 SSH 公钥注入到实例中。
  • 一个浮动 IP 地址可用于分配给您的实例。有关更多信息,请参阅将浮动 IP 地址分配给实例
  • 管理员已为您创建一个项目,并为您提供了一个 clouds.yaml 文件来访问云。
  • 已安装 python-openstackclient 软件包。

流程

  1. 检索具有实例所需硬件配置文件的类别的名称或 ID:

    $ openstack flavor list
    Copy to Clipboard Toggle word wrap
    注意

    选择足够大小的类别,以便镜像成功引导,否则实例将无法启动。

  2. 检索具有实例所需软件配置集的镜像名称或 ID:

    $ openstack image list
    Copy to Clipboard Toggle word wrap

    如果您所需的镜像不可用,您可以下载或创建新镜像。有关创建或下载云镜像的详情,请参考 执行存储操作 中的 创建 RHEL KVM 镜像

  3. 检索您要连接实例的网络的名称或 ID:

    $ openstack network list
    Copy to Clipboard Toggle word wrap
  4. 检索您要用来远程访问实例的密钥对名称:

    $ openstack keypair list
    Copy to Clipboard Toggle word wrap
  5. 创建具有 SSH 访问的实例:

    $ openstack server create --flavor <flavor> \
      --image <image> --network <network> \
      [--security-group <secgroup>] \
      --key-name <keypair> --wait myInstancewithSSH
    Copy to Clipboard Toggle word wrap
    • <flavor > 替换为在第 1 步中检索的类别的名称或 ID。
    • <image > 替换为在第 2 步中检索的镜像的名称或 ID。
    • <network > 替换为在第 3 步中检索的网络的名称或 ID。您可以根据需要 多次使用--network 选项将实例连接到多个网络。
    • 可选: 默认安全组 应用到没有指定替代安全组的实例。您可以在实例创建过程中直接将替代安全组应用到实例,或应用到正在运行的实例上的端口。在创建实例时,使用 --security-group 选项指定备选安全组。有关向正在运行的实例上的端口添加安全组的详情,请参考 向端口 添加安全组
    • <keypair > 替换为在第 4 步中检索的密钥对的名称或 ID。
  6. 为实例分配一个浮动 IP 地址:

    $ openstack server add floating ip myInstancewithSSH <floating_ip>
    Copy to Clipboard Toggle word wrap

    <floating_ip > 替换为您要分配给实例的浮动 IP 地址。

  7. 使用自动创建的 cloud-user 帐户来验证您可以使用 SSH 登录您的实例:

    $ ssh -i ~/.ssh/<keypair>.pem cloud-user@<floatingIP>
    [cloud-user@demo-server1 ~]$
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat