GitHub错误信息 - 权限被拒绝(publickey)

10 浏览
0 Comments

GitHub错误信息 - 权限被拒绝(publickey)

有人遇到过这个错误并知道该怎么办吗?我正在使用终端,我在根目录下,GitHub仓库存在,但我现在不知道该怎么办了。\n

> git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

0
0 Comments

GitHub报错信息 - 权限被拒绝(publickey)的原因及解决方法

在~/.ssh目录下创建了一个config文件吗?它应该包含如下内容:

Host github.com 
 IdentityFile ~/.ssh/github_rsa

假设你创建了一个名为github_rsa的ssh密钥,并将其上传到GitHub...

注意:如果你的~/.ssh/目录下有多个密钥(2个及以上),你必须按照上述方式进行显式配置。如果不以这种方式指定密钥,则会选择并使用顺序中的第一个密钥进行GitHub身份验证,因此这取决于密钥文件名。

我生成了ssh密钥,并且在很长一段时间内都能够正常工作,没有任何问题。有一天,我重启后,它停止工作了,尽管密钥在github和我的本地系统上都是完好无损的。我添加了“config文件”,指定了映射到域名的密钥。详细信息请参见igor-ganapolsky-answer中提供的内容。现在它正常工作了!

这确实解决了我的问题!非常感谢!但我有一个问题。在使用你的方法之前,ssh -T git.com的响应是正确的,但git push -u origin master会出现与问题中相同的错误。为什么我可以正确连接它,但无法推送或拉取它?

我遇到了同样的问题。你找到答案了吗?

我在这个主题上找到的每个教程和笔记都假定id_rsa和id_rsa.pub是第一个且唯一的SSH密钥。谢谢你提供这个方法。

它对我有用!我在我的系统上有两套密钥,这个解决方案解决了我的问题。不过这个解释更详细here

它适用于多个密钥。你必须确保你的config文件格式正确且缩进正确。

今天它解决了我的问题,这个config文件可以配置多个仓库,每个仓库都有不同的ssh密钥。

对于gists,我必须添加一个通配符前缀:Host *.github.com

使用以下命令添加这个配置:cd ~/.ssh/ nano config Host github.com IdentityFile ~/.ssh/github_rsa 保存并退出文件,按Ctrl + X,然后按Y,最后按Enter。

你救了我一命,谢谢!

0
0 Comments

GitHub错误消息 - 权限被拒绝(publickey)的原因和解决方法

当遇到GitHub错误消息“权限被拒绝(publickey)”时,可能是由于以下原因导致的:

1. 在添加SSH密钥后,没有将SSH密钥添加到SSH代理中。

解决方法:ssh-agent -s

ssh-add ~/.ssh/id_rsa

2. 如果在MacOS X上出现“无法打开到身份验证代理的连接”错误消息。

解决方法:eval `ssh-agent -s`

使用:ssh-add ~/.ssh/github_rsa

3. 在重启计算机后,发现相同的问题再次出现。

解决方法:可以使用多种选项来自动启动SSH代理,可以参考unix.stackexchange.com/questions/90853/…中的说明。通常都会使用keychain工具(funtoo.org/Keychain)来实现。

4. 如果在已经在GitHub账户和系统中设置了SSH密钥的情况下出现了问题,可能是系统不再识别该密钥。

解决方法:可以通过命令ls -al ~/.ssh查找相关的SSH密钥,然后使用ssh-add ~/.ssh/命令添加。

5. 如果出现“/Users/rleach/.ssh/id_rsa: No such file or directory”错误消息。

解决方法:可能是SSH配置文件命名错误,确保文件名为“config”而非“config.txt”。

6. 如果存在多个身份标识,可以使用以下命令添加:

ssh-add ~/.ssh/id_a

ssh-add ~/.ssh/id_b

7. 如何避免每次都需要输入命令的问题?

解决方法:可以尝试使用eval `ssh-agent -s`命令,或者使用自动化脚本来实现。

请注意,在需要拉取或推送项目时,需要在项目所在目录中运行上述命令。

通过上述解决方法,可以解决GitHub错误消息“权限被拒绝(publickey)”的问题。

0
0 Comments

GitHub错误消息-权限被拒绝(publickey)的出现原因是用户没有设置SSH密钥,或者密钥与GitHub账户未关联。解决方法有两种:一种是在机器上设置SSH密钥,具体操作可以参考GitHub的帮助文档(https://help.github.com/articles/generating-ssh-keys);另一种是使用HTTPS URL而不是SSH/git URL,以避免处理SSH密钥的问题,这是GitHub推荐的方法(https://help.github.com/articles/set-up-git)。

此错误不仅限于GitHub,BitBucket也会出现相同的错误。可以通过使用ssh -vT git.com命令从GitHub的帮助页面(https://help.github.com/articles/error-permission-denied-publickey)来调试仓库使用的密钥。

如果在GitHub上切换了HTTPS和SSH,系统会记住这个设置并应用到所有仓库。建议在本地设置SSH可以避免未来遇到相同的问题。

此外,还有其他一些解决方法,例如检查命令是否从具有SSH密钥的账户发送,以及使用HTTPS URL并使用凭据助手缓存本地凭据。

总之,设置SSH密钥或使用HTTPS URL可以解决GitHub错误消息-权限被拒绝(publickey)的问题。

0