Help us learn about your current experience with the documentation. Take the survey.

限制允许的 SSH 密钥技术和最小长度

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab Self-Managed, GitLab Dedicated

ssh-keygen 允许用户创建最少 768 位的 RSA 密钥,这远低于某些标准组织(如美国 NIST)的建议。一些部署 GitLab 的组织需要强制执行最小密钥强度,以满足内部安全政策或法规要求。

同样,某些标准组织推荐使用 RSA、ECDSA、ED25519、ECDSA_SK 或 ED25519_SK,而不是较旧的 DSA,管理员可能需要限制允许的 SSH 密钥算法。

GitLab 允许您限制允许的 SSH 密钥技术,并为每种技术指定最小密钥长度:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > 常规
  3. 展开 可见性和访问控制,为每种密钥类型设置所需的值:
    • RSA SSH 密钥
    • DSA SSH 密钥
    • ECDSA SSH 密钥
    • ED25519 SSH 密钥
    • ECDSA_SK SSH 密钥
    • ED25519_SK SSH 密钥
  4. 选择 保存更改

如果对任何密钥类型施加限制,用户无法上传不符合要求的新 SSH 密钥。任何不符合要求的现有密钥将被禁用但不会被删除,用户无法使用它们拉取或推送代码。

如果您有受限密钥,在您的个人资料的 SSH 密钥 部分会显示一个警告图标( warning )。将鼠标悬停在图标上即可了解该密钥被限制的原因。

默认设置

默认情况下,GitLab.com 和 GitLab 自托管版本对 支持的密钥类型 的设置为:

  • 禁止使用 DSA SSH 密钥。
  • 允许使用 RSA SSH 密钥。
  • 允许使用 ECDSA SSH 密钥。
  • 允许使用 ED25519 SSH 密钥。
  • 允许使用 ECDSA_SK SSH 密钥。
  • 允许使用 ED25519_SK SSH 密钥。

阻止被禁止或泄露的密钥

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

当用户尝试向 GitLab 账户 添加新的 SSH 密钥 时,该密钥会与已知泄露的 SSH 密钥列表进行比对。用户无法将列表中的密钥添加到任何 GitLab 账户。此限制无法配置。此限制存在的原因是与密钥对关联的私钥是公开已知的,可用于访问使用该密钥对的账户。

如果您的密钥被此限制禁止,请 生成新的 SSH 密钥对 来替代使用。