【问题标题】:Use http proxy for git repository authentication使用 http 代理进行 git 存储库身份验证
【发布时间】:2020-10-19 13:55:24
【问题描述】:

让我们想象一下当前的场景:

我们有一个 Github 存储库帐户,即 repo,由密码和 ssh 密钥保护。 我们有一个 http 代理,它拥有正确的密码和 ssh 密钥来访问帐户下的 repo。 最后我们有一个既不拥有密码也不拥有密钥但可以访问代理的工作人员。

有没有办法在 http 代理上劫持工作人员的 http 请求,然后在工作人员不知情的情况下添加所需的身份验证,从而让他们访问 repo 而无需访问身份验证方法?

在此先感谢,非常感谢任何帮助!

【问题讨论】:

    标签: git github ssh http-headers http-proxy


    【解决方案1】:

    GitHub 存储库不受密码保护:其所有者帐户受密码保护。
    SSH 密钥可能具有关联的密码

    通常,HTTP 代理用于 HTTPS 查询,而不是 SSH URL。
    的确,您可以使用SSH access through HTTP proxy,但用户会是:

    • 没有 SSH 私钥
    • 没有 GitHub 帐户密码
    • 在存储库上没有协作权(也就是说,它们没有被声明为协作者)

    这样的用户根本无法访问存储库。

    in the comments 所述,您需要部署自己的代理以将身份验证标头添加到客户端查询。

    【讨论】:

    • 你是 100% 正确我的意思是帐户,而不是回购。如果我可以稍微改一下这个想法:目标是在代理处拦截来自最终用户的 git 查询,然后在此时添加身份验证,然后将其转发到 git 服务器(在本例中为 github)。这可以通过 HTTP 代理实现吗?
    • @Solerus Matbe,如果您拥有代理并自己添加缺少的位:stackoverflow.com/a/51176368/6309(显示添加代理授权,这不是您想要的,但您可以添加其他标题)
    • 感谢您的回答!所以我需要自己制作代理来拦截请求添加身份验证标头(或者它在正文中),将其发送到 git 服务器然后将其转发回最终用户?
    • @Solerus 是的,这就是想法。我不知道允许您添加身份验证的本机代理功能,而无需您安装自己的代理。
    猜你喜欢
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 2019-09-30
    • 2017-11-24
    • 2019-01-31
    相关资源
    最近更新 更多