【问题标题】:Get all SSH Keys of developers of a GitLab project via API通过 API 获取 GitLab 项目开发者的所有 SSH 密钥
【发布时间】:2021-02-03 16:16:22
【问题描述】:

我们有一个自托管的 GitLab CE 实例。

我们如何通过 API 从另一台服务器获取项目所有开发人员的所有公共 SSH 密钥?

我们可以获取项目的用户,然后获取每个用户的密钥,但有没有更有效的方法?

我不知道 GitLab CE 是否支持 GraphQl,似乎不支持?

更新 GraphQL 在 CE 上启用:

{
    project (fullPath: "foo/bar/myproject"){
    name
    description
    archived
            projectMembers {
      nodes {
        user {
          username
          
        }
        }
      }
    }
}
    

但现在API doc 中似乎有用于同时获取 SSH 公钥的字段。

【问题讨论】:

    标签: bash ssh gitlab


    【解决方案1】:

    Fast lookup of authorized SSH keys in the database ”的文档确实提到:

    默认情况下,GitLab 管理一个authorized_keys 文件,其中包含允许访问 GitLab 的用户的所有公共 SSH 密钥

    所以首先检查你的 GitLab 服务器~/.ssh/authorized_keys

    【讨论】:

    • 谢谢。但想法是通过 API 或 HTTP 从另一台服务器获取列表。
    • @Alex 我同意,但我不知道有什么 API:您可以获取用户 ID,并从 authorized_keys 文件中的公钥列表中交叉引用它们。跨度>
    猜你喜欢
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 2018-05-01
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    相关资源
    最近更新 更多