linux+git+ssh+push慢,【Git】GitHub SSH Key配置push仍然失败的问题

bVbENtI

最近在搞博客的事情,发现部署时会出现如上图所示的错误,主要是这句:git@github.com: Permission denied (publickey),提示没有权限,push失败,之前一直是拿GitHub客户端上下代码的,这回打命令用git居然失败了。结果一番研究百度,发现和SSH Key有关,下面是我解决这个问题的经过,在此记录下来。↓

一、获取SSH Key

SSH Key字面意思就是个钥匙,一般发起网络请求时我们总要在传入ID,表明身份,这东西当然也是如此。

首先需要手动获取SSH Key,命令行进入到项目文件夹后,输入指令:

-> git config --global user.email "email@email.com" #这里email为注册GitHub账号的邮箱,下同

-> ssh-keygen -t rsa -C "email@email.com" #获取SSH Key

-> ssh-add ~/.ssh/id_rsa #将获取的SSH Key添加到id_rsa 这一步必不可少

接下来一路回车,如果出现xxxx/.ssh/id_rsa already exists. Overwrite (y/n)?就摁y。

1.存放位置

⚠️SSH Key会存放在:↓

bVbENtQ

macOS: 访达 -> 前往 -> 个人 -> .ssh(.ssh文件夹一般是隐藏的,显示隐藏文件夹可用快捷键shift + command + .)

Windows: C:\Users\Administrator\.ssh

.ssh文件夹下包含有id_rsa和id_rsa.pub两个文件,我们需要的key就在id_rsa.pub里面。

2.打开方式

-> vim ~/.ssh/id_rsa.pub

可用以上方式打开,当然也可以直接双击打开。退出编辑模式快捷键shift + Q,再摁Q。

二、为GitHub设置SSH Key

1.设置SSH Key

❗️这里要注意一下,登录GitHub后点击右上角的头像,然后Settings -> SSH and GPG Keys -> New SSH Keys 。⬇️

bVbENtR➡️bVbENtU

bVbENtW

-> vim ~/.ssh/id_rsa.pub

添加key,title任意填,key就不行了,使用上面的命令打开后,将完整的key,就是从ssh-rsa一直到邮箱,都复制到里面去,保存即可。完成后的截图⬇️。

bVbENtX

2.SSH Key 和 Deploy Key

这里其实还有个点坑,每个仓库的设置页有一个Deploy Key,它的获取方法和上面是一样的,但是这个只对这一个仓库有效,而且似乎有有效期限?之前添加SSH Key搞错了,忙活了好长时间。

3.接下来

-> ssh -T git@github.com #测试是否添加成功

-> ssh-add ~/.ssh/id_rsa # 若出现问题 重新添加key(不用在Github里再添加)

push一下试试吧。

三、问题复现

如果首图的问题复现,而最近才添加过SSH Key,那么可以重新使用ssh-add ~/.ssh/id_rsa试一试。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值