限制允许的 SSH 密钥技术和最小长度
ssh-keygen
允许用户创建少至 768 位的 RSA 密钥,这远低于某些标准组织(例如 US NIST)的建议。一些组织需要强制执行最小密钥强度,以满足内部安全策略或遵从合规。
同样,某些标准组建议在旧的 DSA 上使用 RSA、ECDSA、ED25519、ECDSA_SK 或 ED25519_SK,并且管理员可能需要限制允许的 SSH 密钥算法。
极狐GitLab 允许您限制可用的 SSH 密钥技术以及指定每种技术的最小密钥长度:
如果对任何密钥类型施加限制,用户将无法上传不符合要求的新 SSH 密钥。任何不符合它的现有密钥都将被禁用但不会被删除,用户无法使用它们拉取或推送代码。
在其配置文件的 SSH 密钥部分中,受限密钥的用户可以看到一个图标:
将鼠标悬停在此图标上会告诉您密钥受限的原因。
默认设置
默认情况下,支持的密钥类型为:
- 允许 RSA SSH 密钥
- 禁止 DSA SSH 密钥
- 允许 ECDSA SSH 密钥
- 允许 ED25519 SSH 密钥
- 允许 ECDSA_SK SSH 密钥(14.8 及更高版本)
- 允许 ED25519_SK SSH 密钥(14.8 及更高版本)
阻止被禁用或泄露的密钥
- 引入于 15.1 版本,功能标志为
ssh_banned_key
。默认启用。- 一般可用于 15.2 版本。功能标志
ssh_banned_key
已删除。
当用户尝试添加新的 SSH 密钥到极狐GitLab 账户时,会根据 SSH 列表检查该密钥是否是已知被泄露的密钥。用户无法将此列表中的密钥添加到任何极狐GitLab 账户。 此限制无法配置。因为当与密钥对关联的私钥是公开的,并且可用于使用该密钥对访问账户时,需要存在此限制。
如果您的密钥不满足此限制,请生成新的 SSH 密钥对。