第 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 文件中。

其他资源