git push错误:无法读取“https://github.com”的用户名:权限被拒绝

时间:2015-03-04 20:59:18

标签: linux git github ssh centos

我在CentOS 7上试图推送到github。首先我使用ssh,但我的系统似乎有一些奇怪的错误,我的ssh键不断消失(我知道这是令人难以置信的,但我没有其他解释。)相反,我一直在尝试使用https,但我是无法推送到github并且不知道为什么。这是发生的事情:

$ git push origin remote
fatal: could not read Username for 'https://github.com': Permission denied

你能帮忙吗?

3 个答案:

答案 0 :(得分:1)

如果您想使用https,则需要回购的完整网址:

git remote set-url https://<yourLogin>@github.com/<yourLogin>/<yourRepo>

然后你可以试试git push 这将要求您提供GitHub帐户密码,除非您已激活2FA(请参阅&#34; About Two-Factor Authentication&#34;),在这种情况下,您需要先生成PAT (Personnal Acces Token)。< / p>

答案 1 :(得分:1)

我已经尝试过,而且我能够制作类似内容的唯一方法就是取消部分.git文件。鉴于SSH凭据(如您所说)已消失,我猜这实际上是错误消息所说的内容:

fatal: could not read Password 

即,您无权读取您尝试阅读的文件。

现在,您的主目录中的文件正在搜索可读:

cd
find -not -readable -print0 | xargs -0 ls -lh

将为您提供有关您的用户无法读取的所有文件的详细信息,这些文件位于您的主目录中。通常,您应该只看到一些锁定文件。我怀疑你在.ssh文件夹中或者你的git存储库中也有东西。

答案 2 :(得分:0)

问题肯定是我使用的git版本有错误。

另外,我和我的小组合作伙伴现在对Linux更加熟悉了,我们认识到使用相同的.ssh文件夹(如root,不能少!)我们的钥匙是个坏主意。

无论如何,我们最终停止了对服务器的攻击(因为我们真的不知道我们在做什么),而是用Heroku来部署我们的网站。但感谢所有的帮助!