Pycharm GitHub“推送失败:致命错误:身份验证失败”

11

每次我尝试使用Pycharm将代码库推送到GitHub时,都会失败。

Push failed: fatal: Authentication failed for 'https://github.com/(my github repository)/'
在设置中的版本控制->GitHub中,我填写了"Host","Loging"和"Password"字段(Auth Type: Password)。测试结果:"连接成功"。
在设置中的版本控制->Git中,Git可执行文件的路径被设置为完整路径,SSH可执行文件:内置。
Pycharm版本3.1.1 Git版本1.8.4.msysgit.0 在Win 7上。

将SSH可执行文件从内置切换到本地,这对我起了作用。 - iled
9个回答

15

我尝试了所有方法,但只有这个有效: 我的问题是:一切都可以从终端和Github桌面正常工作。 但是当我尝试从pycharm进行PUSH/PULL时,它就无法工作了。 原因:这是因为默认情况下pycharm会将密码保存在本地数据库中。

解决方法:转到“文件”>“设置”>“外观和行为”>“系统设置”>“密码”,单击“不保存...”,重新启动IntelliJ,VCS再次要求输入密码。


非常感谢您。很明显,PyCharm的程序员在处理git(在我的情况下是Bitbucket)和Pycharm时遇到了一些问题。每次我重新安装pycharm或创建新的仓库时,都会遇到相同的问题,这是我第一次得到一个解决方案。很惊奇,像这样明显对用户体验非常负面的关键性错误,居然年复一年地存在而不被解决。感谢您的回答! - Jaco

11

如果用户名或密码包含“某些”特殊字符,则使用https时似乎存在一些问题。

因此,在GitHub的应用程序设置页面中生成了第二个密码(“个人访问令牌”),使用“创建新令牌”按钮,然后复制了此令牌。接下来,在“设置”->“版本控制”->“GitHub”中选择Auth Type: Token,并粘贴该令牌。

测试它:用户的连接成功。现在git push完美地工作。


2
我已经尝试了这个,但是仍然出现错误。测试连接显示它可以工作,但是将提交推送到Github失败。 - Ivo Flipse
2
运行得像魔法一样。就像PyCharm一样。 - John

10

我在PyCharm中使用Git遇到了问题,为此苦恼了半天。

解决方案:设置 => 版本控制 => Git => 勾选 "Use credential helper" 后,问题得到完美解决。


1
它可以工作。如果出现错误 git -c credential.helper= -c core.quotepath=false -c log.showSignature=false push --progress --porcelain origin refs/heads/master:master --tags,那么您需要勾选 使用凭证助手 的选项框。 - Israel Alberto RV
1
可能的另一个问题可能是本地的“Keychain”,我正在使用“Arch Linux”,看起来它与“KeePass”一起工作得更好,而不是“Native keychain”。 文件|设置|外观和行为|系统设置|密码->在KeePass中 - Israel Alberto RV

3
如果您的用户名或密码包含特殊字符,您可以使用百分号编码来替换这些字符。例如,如果您的密码是"test@2010",您需要将其写成"test%402010",配置命令将如下所示:git config remote.origin.url https://{username}:test%402010@github.com/{repo_username}/{repo_name}.git

2
我找到了解决方案,希望能对你有所帮助:
如果你使用KDE或Gnome,你的“KDE钱包”或“Gnome密钥环”管理器会在第一次推送时保存你的密码。但是,如果你输入错误的密码,这些管理器(如KDE的ksshaskpass)将存储错误的密码,并且每次都会发送错误的密码。
要解决这个问题,请打开适当的管理器并更改密码。在KDE中,它位于:Kick-off菜单>系统设置>帐户详细信息>KDE钱包,然后单击“启动钱包管理器”,找到“ksshaskpass”,展开它,然后展开“密码”,在那里找到你的Github注册电子邮件地址,单击它,在右侧单击“显示内容”。现在更改该值(以防密码错误),然后保存即可完成!
这意味着你不必每次为https推送输入密码,也不必使用SSH密钥 ;)

1
我曾经遇到过这个问题。结果发现在凭据管理器中的“Web凭据”中存储了github.com和gitlab.com的错误密码。
我删除了它,并在添加新仓库时给了我登录选项。

0

我正在一台老iMac上使用High Sierra,最初尝试将一个新的本地项目推送到一个新的远程仓库。

由于在Terminal上无法进行身份验证,我尝试使用PyCharm来保存来自Github的身份验证令牌。

过去,我习惯于IDE提示使用令牌,并建议我打开Github.com生成适当的令牌。

PyCharm无法推送新分支,但错误消息中没有给出任何解决方案的提示。

12:56   Push failed
        git@github.com: Permission denied (publickey).
        Could not read from remote repository.
        
        Please make sure you have the correct access rights
        and the repository exists.
        Show details in console

我的解决方案是进入设置,然后发现连接到 Github 的选项未设置 - 于是我能够链接一个令牌。 但是我还需要使用 HTTPS 链接设置 remote 当我尝试使用 SSH URI 时它不起作用。

enter image description here


0
在 PyCharm 中,前往:
Settings > Version Control > Github > + 
  • 添加凭据
  • 并且:

登录GitHub时,请检查您的打开浏览器,PyCharm会打开一个选项卡以授权Jetbrains访问您的GitHub帐户。


0

好的,伙计们,我尝试了所有建议的解决方案,但它们对我都无效。

我使用 git bash 和 bitbucket。

最后,我把它颠倒过来,这样它就起作用了。我知道这是一个困难和愚蠢的解决方案,但它起作用了。 所以步骤如下:

  1. 你有你的代码在你的本地机器上。

  2. 你在 bitbucket 上拥有你的 repo。

  3. 删除你的 repo 或者用新名称创建一个新的 repo。

  4. 通过 /bitbucket 的/ 仪表板帮助进行 readme.md 编辑。

  5. 克隆新的 repo。

  6. 将你想要推送的文件复制到这个新文件夹中。

  7. 执行 git bash 工作(添加、提交)并将其推送到 repo。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接