3.8. 为 Ansible 启用免密码 SSH


在 Ansible 管理节点上生成 SSH 密钥对,并将公钥分发到存储集群中的每个节点,以便 Ansible 可以在不提示输入密码的情况下访问节点。

先决条件

流程

  1. 生成 SSH 密钥对,接受默认文件名并将密语留空:

    [ceph-admin@admin ~]$ ssh-keygen
    Copy to Clipboard Toggle word wrap
  2. 将公钥复制到存储集群中的所有节点:

    ssh-copy-id USER_NAME@HOST_NAME
    Copy to Clipboard Toggle word wrap

    USER_NAME 替换为 Ansible 用户的新用户名。将 HOST_NAME 替换为 Ceph 节点的主机名。

    示例

    [ceph-admin@admin ~]$ ssh-copy-id ceph-admin@host01
    Copy to Clipboard Toggle word wrap

  3. 创建用户的 SSH config 文件 :

    [ceph-admin@admin ~]$ touch ~/.ssh/config
    Copy to Clipboard Toggle word wrap
  4. 打开并编辑 config 文件。为存储集群中每个节点的 HostnameUser 选项设置值:

    Host host01
       Hostname HOST_NAME
       User USER_NAME
    Host host02
       Hostname HOST_NAME
       User USER_NAME
    ...
    Copy to Clipboard Toggle word wrap

    HOST_NAME 替换为 Ceph 节点的主机名。将 USER_NAME 替换为 Ansible 用户的新用户名。

    示例

    Host host01
       Hostname host01
       User ceph-admin
    Host host02
       Hostname host02
       User ceph-admin
    Host host03
       Hostname host03
       User ceph-admin
    Copy to Clipboard Toggle word wrap

    重要

    通过配置 ~/.ssh/config 文件,您不必在每次执行 ansible-playbook 命令时指定 -u USER_NAME 选项。

  5. ~/.ssh/config 文件设置正确的文件权限:

    [ceph-admin@admin ~]$ chmod 600 ~/.ssh/config
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat