第 48 章 管理用户和主机的公共 SSH 密钥
SSH (Secure Shell)是一种协议,它使用客户端-服务器架构在两个系统之间提供安全通信。SSH 允许用户远程登录到服务器主机系统,还允许一台主机访问另一台主机。
48.1. 关于 SSH 密钥格式
IdM 接受以下两种 SSH 密钥格式:
- OpenSSH 样式密钥
- 原始 RFC 4253 样式密钥
请注意,IdM 会在将 RFC 4253 样式的密钥保存到 IdM LDAP 服务器之前,自动将它们钥转换为 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
文件中。