返回介绍

权限和安全配置

发布于 2025-01-26 00:51:48 字数 3937 浏览 0 评论 0 收藏 0

权限和安全配置

在创建服务器实例之前,你需要在该实例上添加安全组规则,这样服务器实例的用户才能 ping 这个主机或者通过 SSH 连接这个实例。安全组是 IP 过滤的规则组,它决定了网络的连通性,适用于一个 Project 内的所有实例。配置安全组有两种方式:要么是在默认的安全组中添加规则,要么新建一个安全组,然后把规则写在新的安全组里。

密钥对是 SSH 的证书,在实例启动时被注入进系统里。如欲使用密钥对注入,镜像中的系统上必须安装了 cloud-init 包。每个 Project 必须有至少一个密钥对,欲知详情,请参看添加密钥对。

如果你使用了其他工具生产了密钥对,你可以将这个密钥对导入进 OpenStack。密钥对可以用在一个 Project 下的多个实例里。欲知详情,请参看导入密钥对。

注意:一对密钥只属于一个独立的用户,而不属于 Project。如果想让多个用户都用同一个密钥对的话,需要让每个用户都导入一次才可以。

在 OpenStack 中创建实例时,OpenStack 会在可用的 IP 段中分配一个固定 IP 给这个实例。在这个实例的整个生命周期里,这个 IP 都和它相关联,只有删掉这个实例后这个 IP 才被释放。不过除了固定 IP 外,Floating IP 也可以和实例相关联。和固定 IP 不同的是,floating IP 可以无视实例的状态,随时被关联到一个不同的实例上。

在默认的安全组上添加规则

以下操作过程介绍了如何在一个实例上启用 SSH 和 ICMP(ping)权限。该操作对 Project 内的所有实例生效,也建议用户在所有的 Project 下执行这些操作,除非你们有什么特殊理由要禁用实例的 SSH 和 ICMP。

如果你的云需要,也可以调整以下的步骤,从而添加别的安全组规则。

注意:添加规则的时候,必须指定源端口或目的端口使用的协议。

  1. 登录控制台。
  2. 在 Project 选项卡中,进入 CURRENT PROJECT,然后选择目标 Project。
  3. 在 Project 选项卡中,打开 Compute 选项卡,点击 Access & Security 分类。在这里,安全组选项列出了当前 Project 适用的安全组信息。
  4. 选择默认的安全组,点击“规则管理”。
  5. 点击“添加规则”。
  6. 在添加规则对话框,输入如下规则:
     Rules: SSH            
     Remote: CIDR
    

    注意:如果要只允许某一个 IP 段内的主机访问,在 CIDR 框中填写相应的 IP 段即可。

  7. 点击“添加”。
    此时该 Project 下的所有实例的 SSH 端口(22)便都打开了。
  8. 再次点击“添加规则”。
  9. 在添加规则对话框,输入如下规则:
     Rules: All ICMP    
     Remote: Ingress
    
  10. 点击“添加”。
    此时该 Project 下的实例应该可以接收 ICMP 包了。

添加密钥对

至少要给每一个 Project 都至少创建一个密钥对:

  1. 登录控制台。
  2. 在 Project 选项卡中,进入 CURRENT PROJECT,然后选择目标 Project。
  3. 在 Project 选项卡中,打开 Compute 选项卡,点击 Access & Security 分类。
  4. 点击密钥对选项卡,该选项卡内会显示该 Project 内所有可用的密钥对。
  5. 点击创建密钥对。
  6. 在创建密钥对窗口,输入密钥对的名字,然后点击创建密钥对。
  7. 下载生成的密钥对。

导入密钥对

  1. 登录控制台。
  2. 在 Project 选项卡中,进入 CURRENT PROJECT,然后选择目标 Project。
  3. 在 Project 选项卡中,打开 Compute 选项卡,点击 Access & Security 分类。
  4. 点击密钥对选项卡,该选项卡内会显示该 Project 内所有可用的密钥对。
  5. 点击导入密钥对。
  6. 在导入密钥对对话框,输入你要导入的密钥对的名字,将公钥粘贴进公钥框,然后点击导入密钥对。
  7. 在本地保存 *.pem 文件。
  8. 如果要将私钥修改成只有你能访问,使用如下命令:
     $ chmod 0600 yourPrivateKey.pem
    

    注意:如果你在用 Windows 访问 OpenStack 控制台,用 PuTTYgen 导入 *.gem 文件,然后转换成 *.ppk 。欲知详情,请参阅 WinSCP web page for PuTTYgen。

  9. 通过运行 ssh-add 来导入密钥。
     $ ssh-add yourPrivateKey.pem
    

    此时你电脑上的电脑便注册了该密钥对的公钥。

    在 OpenStack 控制台中,所有密钥对都会在 Access & Security 选项卡中列出。

为服务器实例分配 Floating IP

在 OpenStack 中创建实例时,OpenStack 会在可用的 IP 段中分配一个固定 IP 给这个实例。在这个实例的整个生命周期里,这个 IP 都和它相关联,只有删掉这个实例后这个 IP 才被释放。

不过,除了固定 IP 外,Floating IP 也可以和实例相关联。和固定 IP 不同的是,floating IP 可以在无视实例状态的情况下随时被关联到一个不同的实例上。

以下步骤详述了将一个 IP 从 IP 资源池中预留出来变成 Floating IP,和把这个 IP 分配给某个实例的过程。

  1. 登录控制台。
  2. 在 Project 选项卡中,进入 CURRENT PROJECT,然后选择目标 Project。
  3. 在 Project 选项卡中,打开 Compute 选项卡,点击 Access & Security 分类。
  4. 点击 Floating IP 选项卡,该选项卡中会显示所有分配给实例的 Floating IP。
  5. 点击“Allocate IP To Project”。
  6. 选择 IP 地址的来源 IP 池。
  7. 点击“Allocate IP”。
  8. 在“Floating IPs”列表中,点击“Associate”。
  9. 在“Manage Floating IP Associations”对话框中,选择如下选项。
    • “IP Address”一栏是自动填好的,但是你也可以用“+”按钮添加一个新的 IP 地址。
    • 在“Port to be associated”一栏,在列表中选择一个端口。

      这个列表列出了所有实例和这些实例绑定的固定 IP 地址。

  10. 点击“Associate”。

注意:如果要解绑 IP,请点击“Disassociate”按钮。

如果要将 Floating IP 重新放回 IP 资源池,点击“More”,然后点击“Release Floating IP”。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文