【问题标题】:Github SSH access: Permission denied (publickey)Github SSH 访问:权限被拒绝(公钥)
【发布时间】:2018-11-06 11:48:54
【问题描述】:

我最近通过 Cygwin 在 Win10 上建立了一个 git 存储库,现在我正试图让它在 github 上跟踪一个远程 repo。

问题是,在添加了这样的遥控器之后:

 git remote add github-remote git@github.com:username/github-remote.git

我无法以任何可能的方式访问它(推送、获取、通过“显示”显示附加信息)。我得到的只是:

git@github.com:权限被拒绝(公钥)。

致命:无法从远程存储库读取。

请确保您拥有正确的访问权限和存储库 存在。

虽然我知道这个话题已经讨论了很多,但我发现的解决方案都没有真正有用。这就是为什么我决定发布另一个问题。

这是我做的,一步一步:

1) 生成 pub-priv 密钥对:

ssh-keygen -t rsa -b 4096 -C "mymail@ex.com"

同时尝试了 - id_rsa 文件的默认目录和自定义目录。结果相同。

2) 运行 ssh 代理(或者准确地说,检查它是否正在运行):

eval $(ssh-agent -s)

3) 为代理添加密钥

ssh-add ~/.ssh/id_rsa

4) 将 id_rsa.pub 复制到 github

5) 检查连接是否设置正确

ssh -T git@github.com

...

的结果很有希望

你已经成功认证了,但是 GitHub 没有提供 shell 访问。

据我所知,此错误可能是由于 git 的地址未包含在 /.ssh/known_hosts 文件中。事情是(据我所知)它是自动插入的,例如使用 'ssh -T' 所以我也怀疑是这种情况。虽然也试过了:

ssh-keyscan -t rsa github.com | ssh-keygen -lf -

另一个可能的问题是我的私钥对用户的访问范围太广,但我也检查了这一点。

说了这么多,我不知道如何解决这个问题,所以我很感激任何帮助。提前谢谢你。

【问题讨论】:

  • 嗨,欢迎来到 Stack Overflow。看来您已经完成了所有正常的 ssh/git 调试步骤。如果你可以ssh git@github.com 你应该很好。但是,您的 git 可能没有使用与您的 ssh 命令相同的 ssh 配置。你是如何安装 Git 的,又是如何安装 ssh 的?它可能没有与您的 ssh-agent 通信。尝试在 ssh 工作的同一 shell 中运行 git 命令。
  • git@github.com: username/github-remote.git中间不能有空格
  • @Schwern 至于 git,我从 git-scm.com/download/win 下载了 .exe。另一方面,SSH 我必须安装为 Cygwin 的包,它是 Cygwin 的薄荷糖,我在其中运行所有命令,所以我想这很好。如果我误解了您的意思,请随时详细说明,我将不胜感激。
  • @DietrichEpp 感谢您指出这一点,尽管我在发布时意外添加了空间。它不在实际地址中。

标签: git github git-remote


【解决方案1】:

至于 git,我从 git-scm.com/download/win 下载了 .exe。另一方面,SSH 我必须安装为 Cygwin 的软件包,它是 Cygwin 的薄荷糖,我在其中运行所有命令...

混合 Cygwin 和 Git For Windows 可能是问题所在。虽然我确信有一种方法可以让它们发挥作用,但最简单的方法是坚持其中一种。

Git For Windows 带有自己的“Git Bash”外壳,我相信还有 ssh。使用它。

或者,如果你想坚持使用 Cygwin,get Git from from Cygwin 并使用它。

Running Git through Cygwin from Windows 也可能有用。

【讨论】:

  • 原来就是这样。通过 Cygwin 安装 git 就成功了!非常感谢:)
猜你喜欢
  • 2011-11-25
  • 2016-09-19
  • 2019-11-24
  • 2014-11-08
  • 2019-03-11
  • 1970-01-01
  • 2012-01-18
  • 2012-04-25
相关资源
最近更新 更多