关于git push没有权限的问题,已设置公钥

发布于 2022-09-01 18:44:08 字数 541 浏览 10 评论 0

首先呢,我已经弄好了ssh的密钥,ssh -T git@github.com是可以的,返回:
Hi xxxxxx! You've successfully authenticated, but GitHub does not provide shell access.
但是,当我想要git push的时候,总是失败,提示是:
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
FATAL Something's wrong. Maybe you can find the solution here: xxxxxxxxxxxx
请问这是什么情况,

我执行的是
git remote add origin git@github.com:xxxxxxx/test.git
git push -u origin master

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

娇柔作态 2022-09-08 18:44:08

我也遇到这个问题了,并且记录了解决方式
http://youcanping.cn/2017/12/20/ssh-Permission-denied/

5. 看本地的.git/config设置的仓库url地址和github使用的链接地址是否一致如下图,如use https,则url需要用https的仓库地址,我的就是这个问题。

> cat .git/config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
[remote "origin"]
        url = https://github.com/youcanping/MyBlog.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
枫林﹌晚霞¤ 2022-09-08 18:44:08

设置Git的user name和email

git config --global user.name "yourname"
git config --global user.email "youremail"

生成SSH密钥

查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
生存密钥:
ssh-keygen -t rsa -C “haiyan.xu.vip@gmail.com”
按3个回车,密码为空。
Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is:
………………
最后得到了两个文件:id_rsa和id_rsa.pub

添加密钥到ssh:ssh-add 文件名,需要之前输入密码.

在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。
打开https://github.com/,在设置中添加密钥

测试:ssh git@github.com
The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘github.com,207.97.227.239′ (RSA) to the list of known hosts.
ERROR: Hi tekkub! You’ve successfully authenticated, but GitHub does not provide shell access
Connection to github.com closed.

测试成功就可以push code了.
遗失的美好 2022-09-08 18:44:08

出现相同异常情景:

(1)搭建个人Git服务器;
(2)备份旧 ssh keys ,并重新生成新的 ssh keys;
(3)想到旧的 ssh keys 是提供给GitHub要用的就又改回去;
(4)再 push 项目到 Github 的时候,提示让我输入 id_rsa。正确输入 id_rsa 后遇到了作者所述异常;

解决方案:

 参考高票回答所述:在 .ssh 文件夹中执行 `ssh-add id_rsa`,再输入正确密码即可。
少女的英雄梦 2022-09-08 18:44:08

我也遇到题主同样的问题,也没有在网上找到妥善的解决办法,但是通过重新配置密钥后解决了这个问题。

月竹挽风 2022-09-08 18:44:08

需要重新选择下git上的ssh地址 因为默认配置的https地址。

清醇 2022-09-08 18:44:08

一般充值本机的ssh-key是不明智的,除非ssh-key只有在GitHub使用,不然每个使用的地方都要重新设置一下,很麻烦。
我刚刚只是把GitHub的key删除重新设置了一下就好了。

小矜持 2022-09-08 18:44:08

1 删除.ssh 下面的known_hosts 文件
2 删除github上的密钥,并重新生成和添加密钥
3 设置.ssh

4 还是不成功,就是你家的网络问题。 建议换一个网络。 并且github是不需要翻墙的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文