关于git:GitLab remote:HTTP Basic:拒绝访问和致命身份验证

GitLab remote: HTTP Basic: Access denied and fatal Authentication

我在mac OS上不像这篇文章:`git push origin `throws error`HTTP Basic:Access denied`
我在GitLab中配置了密码。
我在GitLab上创建项目后创建了SSL密钥。

当我将现有文件夹用于新项目时,请按照以下步骤操作:

现有文件夹

  • cd existing_folder
  • git init
  • git remote add origin https://gitlab.com/sobopla/Geronimod.git
  • git add。
  • git commit -m"初始提交"
  • git push -u origin master

我被提示输入我的GitLab用户名和密码。 输入密码后,我得到:remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://gitlab.com/myname/myproject'


每次我被迫更改Windows密码时都会发生这种情况,而上述答案都没有对我有帮助。

尝试下面对我有用的解决方案:

转到Windows凭据管理器(按Windows键并键入"凭据")以编辑Windows凭据下的git条目。用新密码替换旧密码。


1
   git config --system --unset credential.helper

然后输入Git远程服务器的新密码。


我得到了同样的错误,我解决了这个问题:

  • 从cmd应用命令

    git config --system --unset credential.helper

    当我执行上面的命令时,我又遇到了另一个错误

    错误:could not lock config file C:\Program Files\Git\mingw64/etc/gitconfig: Permission denied

  • 然后我从C: Program Files Git mingw64 / etc / location中删除了gitconfig文件(注意:此路径在MAC中将与"/ Users / username"不同)

  • 之后使用git命令,如git pullgit push,它询问我的用户名和密码。应用有效的用户名和密码以及git命令工作。
  • 希望对你有帮助...


    对我来说,以下工作:

    不要使用您的GitLab密码,而是创建一个访问令牌并使用它代替您的密码:

  • 在GitLab中,转到"设置">"访问令牌"
  • 创建一个新令牌(检查api)
  • git clone ...
  • 当系统要求您输入密码时,请复制并粘贴访问令牌而不是GitLab密码

  • 唯一对我有用的是使用https://username:[email protected]/user/projectgit而不是https://gitlab.com/user/projectgit。请参阅https://gitlab.com/gitlab-com/support-forum/issues/1654


    转到Windows凭据管理器(按Windows键并键入"凭据")以编辑Windows凭据下的git条目。用新密码替换旧密码。

    Windows Credential Manager


    如果您使用git> 2.11并使用Kerberos与Gitlab交互,则需要在本地git中设置此配置以避免remote: HTTP Basic: Access denied错误。

    $ git config --global http.emptyAuth true

    资源


    我也面临同样的问题。出现问题的原因是身份验证错误。
    要解决这个问题,请转到
    控制面板 - >凭据管理器 - >通用凭据
    在这里找到你的gitlab凭证并编辑它们。
    确保您的ID密码正确无误

    enter image description here


    以管理员身份打开命令提示符,然后运行此命

    1
    git config --system --unset credential.helper


    试试这个:

  • 转到:C:/Users/(YourUserName)/
  • 删除文件.gitconfig

  • 我有两种解决这个问题的方法:

  • 我将用户名添加到远程URL的前面(https:// username @ gitRepoURL)

    • 并不总是最好的解决方案;在我工作的地方,即使我们正在慢慢使用GIT,我们的应用程序也在网络驱动器上,所以如果我这样做,只有我可以推动更改,即使其他人在处理某项功能。
  • 我无法从GIT Bash运行git config --system --unset credential.helper,因此我必须打开一个Admin命令提示符并在那里运行它(假设您安装了GIT,以便它可以从GIT Bash和命令提示符运行)。从Bash,我得到一个"无法锁定配置文件"错误。


  • 注意:不要混用GitLab SSL设置和GitLab SSH密钥。

    如果您在GitLab配置文件中配置的是SSH公钥,那么您的HTTPS URL将不会使用它。

    关于您的HTTPS凭据,请仔细检查:

    • 如果禁用双因素身份验证,或
    • 如果您的用户名或密码中有特殊字符,或者
    • 如果你有一个Git凭证助手:git config credential.helper


    好吧,每当我更改登录密码时,我都面临同样的问题。

    以下是我需要运行以解决此问题的命令: -

    1
    git config --global credential.helper wincred

    运行上面的命令后,它再次询问我更新的用户名和密码。

    希望这会帮助你:)


    在我的情况下,我重新安装到最新版本的git(目前2.16.2)。我不知道是不是我的旧版本的git已经过时了,但我在github页面上读到,如果你遇到https克隆错误,应该这样做。我认为这是一个https克隆错误,因为错误集中在HTTP Basic,而GitLab使用HTTPS。我在这个思考过程中可能是错的,但解决方案在我的案例中有所帮助,我希望这对未来的任何人都有帮助!


    转到C:\Users\<> AND DELETE THE .gitconfig file然后尝试连接上游的命令,如git clone, git pull or git push。系统将提示您重新输入凭据。请这样做。


    只需在域名前添加您的用户名:

    1
    https://**username**@gitlab.com/user/projectgit

    助理会问你密码


    转到控制面板 - >凭据管理器 - > Windows凭据选择github或gitlab凭据并进行修改。这适用于windows10


    它对我有用:我使用Mac并在finder上编写路径:

    ?/ Library / Application Support / SourceTree

    我删除了应该是的auth文件

    [email protected]

    然后尝试从源代码树推送和拉取代码,它工作。

    您还可以阅读以下答案:

    https://community.atlassian.com/t5/Sourcetree-questions/How-to-update-HTTP-S-credentials-in-sourcetree/qaq-p/297564


    如果您更改git服务帐户(GitHub或GitLab,Bitbacket等)的登录名或密码,就会发生这种情况。您还需要在Windows凭据管理器中进行更改。

    因此,在Windows搜索菜单中键入"Credential Manager"(rus。"ДиспетчерУчетныхДанных")并转到您的git服务帐户并更改数据。

    enter image description here


    所以对我来说问题是我通过将我的GitHub帐户链接到它来创建了我的GitLab帐户。这意味着该帐户没有正式存在密码,因为它是通过GitHub和GitLab之间的热链接创建的。我通过转到GitLab设置 - >密码 - >修复它,并写了与我的GitHub帐户相同的密码。


    我从Windows中的'Credential Manager'中删除了gitlab凭证并成功推送


    我尝试使用存储库的浏览器URL

    git clone $(browserURL)

    它提示输入我的用户名和密码

    它工作得很好


    如果您尝试使用现有的Git帐户登录Gitlab。
    您需要首次重置Gitlab的密码。

  • 步骤:通过单击配置文件图标(右上角的下拉菜单)导航到设置。
  • 步骤:转到设置
  • 步骤:单击锁定图标或glyphicon图标(即密码)。
  • 步骤:输入Gitlab的新密码。

  • 当我遇到同样的问题时,

    我通过删除文件"passwd"来解决它

    C:\Users\\AppData\Local\Atlassian\SourceTree

    删除Sourcetree后会提示输入密码。

    1
    2
    3
    Note:
    OS Version : win10
    Sourcetree Version:  3.1


    当Windows Credential Manager要求您的凭据访问GitLab时,这些是您访问GitLab时使用的用户名和密码。 EG:使用您的电子邮件和密码。


    上述解决方案都不适用于我,我的笔记本电脑上没有管理员权限,但他们最终将我带到了git工具凭证存储文档:

    我的设置
    Windows 10 |
    git版本2.18.0.windows.1 |
    通过HTTPS链接克隆

    如果您使用wincred作为凭证助手,此解决方案有效:

    1
    2
    > git config --global credential.helper
    wincred

    将帮助程序更改为"缓存"应该可以解决问题,因为它会要求您再次提供凭据。要将其设置为缓存,只需键入:

    1
    > git config --global credential.helper cache

    检查您的更新是否有效:

    1
    2
    > git config --global credential.helper
    cache

    您现在应该能够像以前一样克隆/拉取/获取。


    转到Windows计算机上的凭据设置并删除https://gitlab.com/sobopla/Geronimod.git


    从gitlab - > setting - > access token创建一个新的访问令牌


    仅供参考,我在生成并将ssh_rsa.pub粘贴到gitlab中的SSH密钥后错误地使用URL时遇到了这个问题。

    1
    2
    3
    4
    5
    $ git clone http://gitlab.x
    Cloning into 'start-up'...
    remote: HTTP Basic: Access denied
    remote: You must use a personal access token with 'api' scope for Git over HTTP.
    remote: You can generate one at http://gitlab.x

    通过改为解决。

    1
    $ git clone [email protected]:leiqi/start-up.git

    与Sourcetree在Mac上相同的问题

    解决方案:删除钥匙串访问中的密码。

    enter image description here

    https://community.atlassian.com/t5/Sourcetree-questions/SourceTree-quot-fatal-Authentication-failed-for-quot/qaq-p/201844


    对于Mac用户:

  • 转到钥匙串并删除gitlab帐户
  • 转到终端中的项目路径,然后输入git pull
  • 然后,系统会要求您输入gitlab的用户名和密码
  • 输入您的用户名,您可以在配置文件部分的gitlab帐户中找到该用户名。
  • 然后在此输入您更新的密码。
  • 在这里,我们再次尝试推送您的代码,它可能会帮助你们。