在git pull origin [branch]时提示输入密码

11

当我尝试使用“git pull origin [branch]”命令以拉取库中的更改时,系统提示我输入密码。输入我的系统密码或按回车键只会返回“fatal: Authentication failed”。

事实上,在过去的项目中,我从未为此输入过密码,而且在上周开始该项目时也不是这种情况,自那时以来我推送和拉取代码都没有遇到此问题。与客户交谈后,他们认为这可能与我的SSH密钥有关。

我重新检查了密钥并确保它们是正确的,并且运行了“ssh git@github.com”,返回结果为:

Hi bdkay! You've successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed.

这让我认为验证成功了。然而,在这之前出现了一行麻烦的信息:“PTY allocation request failed on channel 0”。客户说我仍然添加到了github的库中,并且他们端没有做出任何更改。我仍在同一台机器上工作,但似乎无法从Google或搜索本站找到解决方法。非常感谢您提供的任何帮助。


"PTY分配请求在通道0上失败"表示SSH请求了一个伪终端(PTY),基本上是shell的“容器”,但该请求失败了。这正是您所期望的,因为GitHub不提供shell访问权限。不幸的是,这可能意味着这里没有足够的信息来建议解决方案...也许尝试运行git fetch -v origin [branch]并链接或粘贴输出? - David Z
git fetch -v origin workspace-ie 还提示我输入密码,并返回致命错误:系统密码验证失败或密码为空。 - Brendon
我的意思是整个输出。关键是要在上下文中看到错误消息。 - David Z
我想我不理解你所说的“整个输出”是什么意思。请原谅我的无知,我是一个git、rails和linux的初学者。如果有一个命令可以提供显示整个输出,请告诉我。 - Brendon
我的意思就是我说的那样,命令的全部输出。到目前为止,您只提供了一行输出,但我们需要看到git打印出的所有内容,就像它在您的屏幕上显示的那样。您运行命令,在终端中选择文本,将其复制并粘贴到问题中。(缩进4个空格以使其格式化为代码)有关示例,请参见https://dev59.com/U1vUa4cB1Zd3GeqPvqhS中的第二个代码块(“git clone命令的'正常'输出”)。 - David Z
在Unix中,这是整个输出。 ➜ fbolt git:(workspace-ie)✗ git fetch -v origin workspace-ie 密码: 致命的:身份验证失败 - Brendon
1个回答

24

如果您被要求输入密码,而不是SSH密钥的密码短语,则您没有使用SSH URL。HTTPS会要求用户名/密码身份验证,SSH使用密钥/密码短语。使用git remote -v检查远程URL,如果需要修复,请使用git remote set-url


谢谢 Tekkub!不知怎么回事,我的远程的URL变成了HTTPS URL。我使用了git remote set-url将其切换回SSH,现在它可以完美地工作了。再次感谢。 - Brendon
1
@Brendon:如果这个答案解决了你的问题,你应该接受它。只需点击勾号即可。 - vikingosegundo

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