GitLab 13.10的公告有一个弃用通知,将 authorized_keys 用于 ssh 密钥:
第一种机制(通过授权密钥集成)容易受到竞争条件和乱序执行问题的影响,因此难以扩展。因此,它将在 GitLab 14.0 中删除。有关详细信息,请参阅问题 #212227。
用于快速 ssh 密钥查找的文档(快速查找数据库中授权的 SSH 密钥 | GitLab)说
对于 Omnibus Docker,AuthorizedKeysCommand 在 GitLab 11.11 及更高版本中默认设置。
当我在 gitlab 容器的 ssh 配置文件中插入时,我看不到AuthorizedKeysCommand
. 但是,我在我的实际 SSH 密钥中也找不到任何参考/var/opt/gitlab/.ssh/authorized_keys
,这表明它实际上是在使用快速查找而不是系统authorized_keys
文件。
我在管理区域 > 网络 > 性能优化中的配置已启用Write to "authorized_keys" file
。我对此的理解是它是部署密钥的备份,而不是该文件将用于所有身份验证。
由于该authorized_keys
文件将在 GitLab-14 中被弃用(两个月后?),我期待着。我怎么知道删除对该文件的支持是否会破坏我?我总是可以取消选中“写入authorized_keys”,但我不认为这会立即产生影响。
OP 的链接文档(在这里给出相同的ce版本)告诉:
因为配置文件在一个不常见的地方,所以可能没有找到。
然后文档告诉,正如 OP 已经写的那样:
所以 Omnibus Docker 已经配置为使用 GitLab 的专用命令来补充
authorized_keys
文件。在Omnibus Docker版本中没有什么需要为第 14 版做准备,它已经准备好进行更改(标准Omnibus 版本很可能不是这种情况),其中不应该再有authorized_keys
文件并且命令gitlab-shell-authorized-keys-check
将完全接管。要仔细检查它是否已经使用新的身份验证方法,可以按照文档中建议的测试进行操作: