第 49 章 管理用户和主机的公共 SSH 密钥
SSH (Secure Shell)是一种协议,它在使用客户端-服务器架构的两个系统之间提供安全通信。SSH 允许用户远程登录到服务器主机系统,还允许一台主机访问另一台机器。
49.1. 关于 SSH 密钥格式
IdM 接受以下两种 SSH 密钥格式:
- OpenSSH 样式的密钥
- 原始 RFC 4253 样式的密钥
请注意,IdM 会在将它们保存到 IdM LDAP 服务器之前,自动将 RFC 4253 样式的密钥转换为 OpenSSH 样式的密钥。
IdM 服务器可以从上传的密钥 blob 中识别密钥类型,如 RSA 或 DSA 密钥。在密钥文件中,如 ~/.ssh/known_hosts
,密钥条目通过服务器的主机名和 IP 地址、其类型和密钥来标识。例如:
host.example.com,1.2.3.4 ssh-rsa AAA...ZZZ==
这与用户公钥条目不同,后者具有 type key== comment 顺序的元素:
"ssh-rsa ABCD1234...== ipaclient.example.com"
密钥文件(如 id_rsa.pub
)包含三个部分:密钥类型、密钥以及额外的注释或标识符。将密钥上传到 IdM 时,您可以上传所有三个密钥部分或只上传密钥。如果您只上传密钥,IdM 会自动从上传的密钥中识别密钥类型,如 RSA 或 DSA。
如果使用 ~/.ssh/known_hosts
文件中的主机公钥条目,您必须重新排序它,以匹配用户密钥的格式,type key== comment :
ssh-rsa AAA...ZZZ== host.example.com,1.2.3.4
IdM 可以从公钥的内容自动决定密钥类型。注释是可选的,以便更轻松地识别单个密钥。唯一必需的元素是公钥 blob。
IdM 使用存储在以下 OpenSSH 样式文件中的公钥:
-
主机公钥位于
known_hosts
文件中。 -
用户公钥位于
authorized_keys
文件中。