3.17. 在现有集群中设置自定义 SSH 密钥
作为存储管理员,通过 Cephadm,您可以使用 SSH 密钥安全地与远程主机进行身份验证。SSH 密钥存储在 monitor 中,以连接到远程主机。
当集群引导时,会自动生成这个 SSH 密钥,且不需要额外的配置。但是,您可以使用 ceph cephadm generate-key
命令生成新的 SSH 密钥。
先决条件
- Ansible 管理节点.
- 对 Ansible 管理节点的根级别访问权限.
-
cephadm-ansible
软件包安装在节点上。
流程
-
导航到
cephadm-ansible
目录。 生成一个新的 SSH 密钥:
示例
[ceph-admin@admin cephadm-ansible]$ ceph cephadm generate-key
检索 SSH 密钥的公钥部分:
示例
[ceph-admin@admin cephadm-ansible]$ ceph cephadm get-pub-key
删除当前存储的 SSH 密钥:
示例
[ceph-admin@admin cephadm-ansible]$ceph cephadm clear-key
重启 mgr 守护进程以重新载入配置:
示例
[ceph-admin@admin cephadm-ansible]$ ceph mgr fail
3.17.1. 配置不同的 SSH 用户
作为存储管理员,您可以配置一个非 root SSH 用户,该用户可以使用足够特权登录所有 Ceph 集群节点,以下载容器镜像、启动容器并在不提示输入密码的情况下执行命令。
在配置非 root SSH 用户前,集群 SSH 密钥需要添加到用户的 authorized_keys
文件中,非 root 用户必须具有 免密码 sudo 访问权限。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- Ansible 管理节点.
- 对 Ansible 管理节点的根级别访问权限.
-
cephadm-ansible
软件包安装在节点上。 -
将集群 SSH 密钥添加到用户的
authorized_keys
。 - 为非 root 用户 启用免密码 sudo 访问权限。
流程
-
导航到
cephadm-ansible
目录。 提供要执行所有 Cephadm 操作的用户的名称:
语法
[ceph-admin@admin cephadm-ansible]$ ceph cephadm set-user <user>
示例
[ceph-admin@admin cephadm-ansible]$ ceph cephadm set-user user
检索 SSH 公钥。
语法
ceph cephadm get-pub-key > ~/ceph.pub
示例
[ceph-admin@admin cephadm-ansible]$ ceph cephadm get-pub-key > ~/ceph.pub
将 SSH 密钥复制到所有主机。
语法
ssh-copy-id -f -i ~/ceph.pub USER@HOST
Example
[ceph-admin@admin cephadm-ansible]$ ssh-copy-id ceph-admin@host01