首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ssh公钥权限被拒绝( -T git@github.com )

ssh公钥权限被拒绝( -T git@github.com )
EN

Stack Overflow用户
提问于 2013-08-18 05:13:21
回答 4查看 6.7K关注 0票数 0

我尝试将我的博客(Octopress)推送到github,但得到以下错误:

代码语言:javascript
复制
MacBook-Air:octopress bdeely$ git push origin source
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我生成了一个SSH密钥,保存了它,甚至在SSH密钥设置中将它与我的GitHub帐户链接起来,但我继续检查状态,得到了相同的错误:

代码语言:javascript
复制
MacBook-Air:.ssh bdeely$ ssh -T git@github.com
Permission denied (publickey).

除此之外,我检查了github's help page,执行了以下操作,得到了以下错误消息:

代码语言:javascript
复制
MacBook-Air:~ bdeely$ ssh-add -l
The agent has no identities.

有没有人知道哪里出了问题,我该怎么解决这个问题?

EN

回答 4

Stack Overflow用户

发布于 2015-03-13 05:55:14

在OSX上,如果您键入

代码语言:javascript
复制
ssh-add -l

返回"no identities",这意味着您的ssh代理没有加载任何标识。通常,当mac重启时,你没有身份。

我在重新引导后通过显式地运行以下命令来添加我的

代码语言:javascript
复制
ssh-add

这将从~/..ssh/id_rsa加载默认标识

您还可以将ssh-add命令与特定标识一起使用

代码语言:javascript
复制
ssh-add ~/foo/bar/is_rsa

添加身份后,您可以通过键入以下命令来查看所有列出的身份

代码语言:javascript
复制
ssh-add -l

确保您至少列出了一个。

票数 5
EN

Stack Overflow用户

发布于 2013-12-03 17:15:10

在您的终端中尝试以下内容:

代码语言:javascript
复制
eval `ssh-agent -s`

ssh-add ~/.ssh/id_rsa

输入您的密码短语(如果有),它应该可以工作。希望这能有所帮助:-)

票数 3
EN

Stack Overflow用户

发布于 2013-11-26 14:43:02

我希望这对你有帮助:

我也遇到了同样的问题,沮丧得要把自己的眼睛挖出来;网络上没有任何东西能让我找到答案,我试图在没有确切指定网址的情况下使用git push命令(这也可以解决我相信的问题),所以我看不出连接是怎么失败的。

我已经为具有两个不同密钥的两个用户正确地设置了我的.ssh/config,甚至使用了IdentitiesOnly yes,它应该覆盖自动提供错误的 ssh标识的ssh-agent

当我检查本地存储库配置时,我终于意识到了问题所在

代码语言:javascript
复制
[remote "origin"]
  url = git@github.com:{my-username}/{my-repo-name}.git

我在.ssh/config文件中的配置是为两个用户使用相同的HostName github.com条目,我对所有这些都是完全陌生的,所以我没有意识到要正确覆盖ssh-agent,我必须指定确切的URL,否则我的.ssh/config文件中的特定标识将被忽略,并且默认情况下将使用ssy-agent列出的第一个键(与我的情况不同)。

我通过将本地repo URL更改为url = git@github-personal:{my-username}/{my-repo-name}.git修复了此问题,其中我在.ssh/config中将Host github-personal设置为标识。

解决这个问题的另一种方法是在git push命令本身中指定URL中的用户,或者更好的是,在我用自己糟糕的方式解决这个问题后,在帖子中描述的解决方案:

https://superuser.com/questions/272465/using-multiple-ssh-public-keys

我不敢相信没有官方来源可以为这种看起来很常见的边缘情况提供解决方案,甚至可以很好地解释这种情况(通过SSL从一台机器访问两个不同的github帐户)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18293405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档