【问题标题】:Teamcity to github List remote refs failed not authorized jgitTeamcity 到 github 列表远程引用失败未授权 jgit
【发布时间】:2022-03-15 17:23:49
【问题描述】:

在同一台机器上为 Windows 使用 github,使用相同的凭据可以正常工作。可以拉取/克隆。

但是 teamcity 作为 Windows 服务安装在同一台机器上,返回以下错误

List remote refs failed: org.eclipse.jgit.errors.TransportException: https://github.com/my-private-repo.git: not authorized

【问题讨论】:

    标签: git github teamcity jgit


    【解决方案1】:

    在teamcity中,在项目VCS Root中,如果认证方式是基于ssh公钥/私钥的,那么fetch URL应该是git@github.com:.../repository.git。在 fetch URL 中使用 https:// 会导致错误消息:

    列出远程引用失败:org.eclipse.jgit.errors.TransportException..

    发生。

    【讨论】:

    • 我尝试了 ssh 和 https 仍然出现错误。 List remote refs failed: org.eclipse.jgit.errors.TransportException: https://gitlab.com/test-everyone/test-devops/test-it-processes.git: authentication not supported我的代码在gitlab
    • 在我的情况下,我的仓库不使用用户名/密码,而是使用用户名/令牌进行身份验证。
    【解决方案2】:

    在 bitbucket 中,我通过在设置下创建应用密码来解决此问题,并使用应用密码而不是我的 bitbucket 密码

    【讨论】:

    • 保佑你...这些是剩余的强制字符
    【解决方案3】:

    遇到了同样的问题,并通过在 Github 中创建个人访问令牌并将其用作 TeamCity 中的密码来解决它。

    【讨论】:

      【解决方案4】:

      与 Stash(=Bitbucket 服务器)有相同的错误,解决方案是授予 TeamCity 中指定的用户在 Stash 中访问存储库的权限。权限是针对每个存储库的。

      【讨论】:

      • 可以确认这也适用于 gitlab。错误消息“列出远程引用失败:找不到存储库(存储库 url)/git-upload-pack 未找到”
      【解决方案5】:

      如果其他人有类似的东西,那就是 GitHub 中的用户凭据,但我还没有确切地追踪到是哪个设置。

      在 TeamCity 中使用不同的用户可以正常工作,即使我可以在命令行上执行克隆/获取/拉取和远程 ls(作为问题用户)。

      【讨论】:

        【解决方案6】:

        您可以使用 SSH KEYS 来允许您访问 Azure TFS GIT URL,或者您可以通过选中“启用备用凭据”来修改“备用凭据”中的设置,以便您只需使用用户名和密码即可访问存储库.

        首先在 Azure DevOps 中转到您的项目:

        然后在 RHS 菜单中选择安全性:

        最后在 LHS 菜单中选择“Alternate Credentials”,然后点击“Enable authentication Alternative credentials”,然后输入您的用户名和密码:

        请注意,这不如使用 SSH KEYS 安全。

        【讨论】:

          【解决方案7】:

          对于托管在 IIS 上的 git 服务器,我遇到了同样的错误。

          为 IIS 安装“基本身份验证”后,问题就出现了。之后,为 git 服务器的网站启用了新的身份验证方法“基本身份验证”(似乎是默认值)。禁用“基本身份验证”解决了这个问题。

          【讨论】:

            【解决方案8】:

            也许没有那么相关,但您可能会通过关键字“teamcity, github, list remote refs failed”来到这里。

            如果服务器在代理后面,请按照Connection time out: github.com为TeamCity服务器设置代理

            主要思想是:

            要使 TeamCity 能够使用代理,环境变量必须是 创建:

            名称:TEAMCITY_SERVER_OPTS

            值:-Dhttp.proxyHost=192.168.0.1 -Dhttp.proxyPort=80 -Dhttps.proxyHost=192.168.0.1 -Dhttps.proxyPort=80

            【讨论】:

              【解决方案9】:

              尝试使用与本地 git 客户端相同的凭据进行推送/获取,它可以提供更多详细信息,这可能与凭据有关。

              这是给我的,因为 TeamCity 显示了同样的错误,而这些解决方案没有奏效。

              【讨论】:

                【解决方案10】:

                我在 Azure DevOps 中的 Repo 遇到了同样的问题,所以我去克隆然后命令行选择了 HTTPS,复制了我在 TeamCity 中使用的 url、用户名和密码。

                【讨论】:

                  【解决方案11】:

                  致在使用 Bitbucket 时遇到此问题的任何人。

                  自 2022 年 3 月起,您将无法再使用您的个人凭据将您的应用连接到 bitbucket。您需要创建一个应用密码(参见here 操作方法)。

                  标识符不是您的电子邮件地址,而是您的 Bitbucket 用户名。

                  【讨论】:

                    猜你喜欢
                    • 2016-08-14
                    • 1970-01-01
                    • 2019-07-03
                    • 2020-02-19
                    • 1970-01-01
                    • 2021-09-07
                    • 1970-01-01
                    • 2020-08-27
                    • 1970-01-01
                    相关资源
                    最近更新 更多