搜索

9.2. 使用安全组和密钥对保护实例访问

download PDF

安全组是 IP 过滤规则的集合,用于控制网络和协议访问实例,如 ICMP,允许您 ping 实例,以及允许您连接实例的 SSH。

所有项目都有一个名为 default 的默认安全组,当您没有为实例指定安全组时使用。默认情况下,默认安全组允许所有传出流量,并拒绝来自同一安全组中实例以外的任何来源的所有传入流量。您可以在实例创建过程中将一个或多个安全组应用到实例。要将安全组应用到正在运行的实例,请将安全组应用到与实例连接的端口。

如需更多有关安全组的信息,请参阅配置 Red Hat OpenStack Platform 网络中的配置安全组

注意

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

密钥对是 SSH 或 x509 凭证,它们在启动时注入到实例中,以启用对实例的远程访问。您可以在 RHOSP 中创建新密钥对,或导入现有的密钥对。每个用户应至少有一个密钥对。密钥对可用于多个实例。

注意

您无法在项目中的用户间共享密钥对,因为每个密钥对都属于创建或导入密钥对的单独用户,而不是与项目共享。

9.2.1. 将安全组添加到端口

默认安全组 应用到没有指定替代安全组的实例。您可以将其他安全组应用到正在运行的实例上的端口。

流程

  1. 确定您要将安全组应用到的实例上的端口:

    $ openstack port list --server myInstancewithSSH
  2. 将安全组应用到端口:

    $ openstack port set --security-group <sec_group> <port>

    将 &lt ;sec_group > 替换为您要应用到运行中实例上端口的安全组的名称或 ID。您可以根据需要,多次使用 --security-group 选项来应用多个安全组。

9.2.2. 从端口中删除安全组

要从端口中删除安全组,您需要首先删除所有安全组,然后重新添加您要分配给端口的安全组。

流程

  1. 列出与端口关联的所有安全组,并记录您要与端口关联的安全组 ID:

    $ openstack port show <port>
  2. 删除与端口关联的所有安全组:

    $ openstack port set --no-security-group <port>
  3. 将安全组重新应用到端口:

    $ openstack port set --security-group <sec_group> <port>

    将 &lt ;sec_group > 替换为您要重新应用到运行实例上端口的安全组 ID。您可以根据需要,多次使用 --security-group 选项来应用多个安全组。

9.2.3. 生成一个新的 SSH 密钥对

您可以创建新的 SSH 密钥对,以便在项目内使用。

注意

使用 x509 证书为 Windows 实例创建密钥对。

流程

  1. 创建密钥对,并将私钥保存到本地 .ssh 目录中:

    $ openstack keypair create <keypair> > ~/.ssh/<keypair>.pem

    <keypair > 替换为您的新密钥对的名称。

  2. 保护私钥:

    $ chmod 600 ~/.ssh/<keypair>.pem

9.2.4. 导入现有的 SSH 密钥对

您可以在创建新密钥对时提供公钥文件,将 SSH 密钥导入到您在 Red Hat OpenStack Platform (RHOSP)外创建的项目中。

流程

  1. 从现有密钥文件创建密钥对,并将私钥保存到本地 .ssh 目录中:

    • 要从现有公钥文件导入密钥对,请输入以下命令:

      $ openstack keypair create --public-key ~/.ssh/<public_key>.pub \
       <keypair> > ~/.ssh/<keypair>.pem
      • 将 < public_key > 替换为您要用于创建密钥对的公钥文件的名称。
      • <keypair > 替换为您的新密钥对的名称。
    • 要从现有的私钥文件导入密钥对,请输入以下命令:

      $ openstack keypair create --private-key ~/.ssh/<private_key> \
       <keypair> > ~/.ssh/<keypair>.pem
      • 将 < private_key > 替换为您要用于创建密钥对的公钥文件的名称。
      • <keypair > 替换为您的新密钥对的名称。
  2. 保护私钥:

    $ chmod 600 ~/.ssh/<keypair>.pem

9.2.5. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.