【问题标题】:git push error: could not read Username for 'https://github.com': Permission deniedgit push 错误:无法读取“https://github.com”的用户名:权限被拒绝
【发布时间】:2015-05-06 01:15:54
【问题描述】:

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

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

你能帮忙吗?

【问题讨论】:

  • 好的,人类不知道 SSH 密钥会消失的错误。这些是常规的,只有所有者可读的文件 ~/.ssh,所以要弄清楚这些文件发生了什么。该文件夹中的所有文件都真正归您的用户所有吗? ls -lh ~/.ssh 可能会有所帮助。我的猜测是,既然你看到在你的主文件夹最私密的部分发生了虚假的事情,你真的应该先解决这个问题,然后再继续修复 git 用户名存储的权限。您是否以 root 身份执行 SSH 或 git 操作,而您不应该这样做?!
  • 这并不是一个真正的错误——我对 linux 比较陌生,我不太确定哪些文件在重新启动后仍然存在,哪些文件不存在。我还与其他用户共享系统,也许其中一个用户覆盖了我的 .ssh 目录意外。我绝对不知道发生了什么,但我认为在这种情况下 https 可能比 ssh 更容易。
  • 如果您没有使用与其他人相同的用户名(从不这样做),那么他们将无法在您的任何文件上写入;事实上,他们将无法读取您的 ~/.ssh 目录。
  • 嗯...他们有 root 访问权限。这只是一个班级项目。
  • 世界上谁拥有 root 权限会弄乱你的 .ssh 文件夹?那里有很多邪恶。

标签: linux git github ssh centos


【解决方案1】:

如果你想使用 https,你需要你的 repo 的完整 url:

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

那你可以试试git push
这将要求您提供 GitHub 帐户密码,除非您已激活 2FA(请参阅“About Two-Factor Authentication”),在这种情况下,您需要先生成一个 PAT (Personnal Acces Token)

【讨论】:

  • 我还没有激活 2FA。所以我按照你说的做了,现在当我输入 $ git push -u origin master 时,我得到:fatal: could not read Password for 'https://mchenja@github.com': Permission denied
  • @mchenja 您使用的是什么版本的 git(可能是一个错误:confluence.atlassian.com/display/STASHKB/…
【解决方案2】:

我已经尝试过了,我能产生类似结果的唯一方法是放弃我的 .git 文件的一部分。鉴于 SSH 凭据,如您所说,“消失”,我猜这实际上是错误消息所说的:

fatal: could not read Password 

也就是说,您没有读取您正在尝试读取的文件的权限。

现在,正在寻找您的主目录中您可读的文件:

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

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

【讨论】:

    【解决方案3】:

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

    另外,我和我的团队合作伙伴现在对Linux 更加熟悉,我们认识到对我们所有的密钥使用相同的.ssh 文件夹(如root,不少于!)是个坏主意.

    无论如何,我们最终停止了对服务器的处理(因为我们真的不知道自己在做什么),而是使用Heroku 部署了我们的网站。不过感谢大家的帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-30
      • 2017-10-21
      • 1970-01-01
      • 2020-01-04
      • 1970-01-01
      • 2012-12-29
      • 2013-11-08
      相关资源
      最近更新 更多