• go get或git clone时 报git@github.com: Permission denied (publickey) 解决办法


    一、现象

    二、原因分析

    Permission denied (publickey) 没有权限的publickey ,出现这错误一般是以下两种原因

      • 客户端与服务端未生成 ssh key
      • 客户端与服务端的ssh key不匹配

    三、解决办法

    我们新生成一个ssh key就可以了

    依次执行如下命令

    1、打开git bash,

    右击桌面空白处,选择【git bash】

     2、进入ssh 路径下

    cd ~/.ssh

    3、生成新的ssh key

    输入如下命令,youremail@example.com改为自己的邮箱

    ssh-keygen -t rsa -C "youremail@example.com"

    然后回车,途中会让你选择生成的ssh key的存放目录和输入密码,不用管,直接回车。

    这里有个坑,需要把原来生成的ssh key文件删除,否则不会生成新key的时候,会报文件已存在而导致无法生成新的key。一般ssh key的文件路径都是【C:Usersusername.sshid_rsa】,其中username是你这个用户的用户名。如果没找到,可以先执行如下命令,回车后,系统会告诉你路径。

     

    4、执行命令

    ssh -v git@github.com

    最后会出现

    git@github.com: Permission denied (publickey).

    5、执行命令

    ssh-agent -s

    知识点:

    ssh-agent的角色就是帮忙存储、查找并发送对应的指纹而已,也就是说它是一个连接的转发人,扮演的是一个代理的角色。

    使用ssh-agent后,可以通过ssh-add命令向ssh-agent注册本机的私钥,ssh-agent会自动推导出这个私钥的指纹(实际上是ssh-add计算的)保存在自己的小本本里(内存),以后只要ssh连接某主机(某用户),将自动转发给ssh-agent,ssh-agent将自动从它的小本本里查找私钥的指纹并将其发送给服务端(sshd端)。如此一来,ssh客户端就无需再指定使用哪个私钥文件去连接。

    6、将新生成的ssh key添加到ssh-agent

    ssh-add ~/.ssh/id_rsa

    坑:

    如果这时出现【Could not open a connection to your authentication agent.】

    则先执行下【eval `ssh-agent -s`】,再执行【ssh-add ~/.ssh/id_rsa】就可以了

     

    7、创建ssh key

    打开刚刚生成的id_rsa.pub文件,复制里面的内容

    进入你的github账号:https://github.com/settings/keys

    settings→SSH and GPG keys→new SSH key,

     

    title随便取一个名字,然后将id_rsa.pub里的内容复制到Key中,完成后Add SSH Key。

     坑:

    如果添加key失败,提示【Key is invalid. You must supply a key in OpenSSH public key format】格式错误。

    则在bash下执行命令【cat id_rsa.pub】然后复制key,再去github上添加

     

     8、验证

    ssh git@github.com

    成功了

    9、再次执行git get,成功了

     

    作者:十八岁

    -------------------------------------------

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    10.19的一些题
    10.18 模拟赛
    bzoj 2212 Tree Rotations
    10.11的一些题
    10.15 模拟赛
    bzoj 5329 战略游戏
    php面向对象基础(二)
    php面向对象基础(一)
    PHP基础-数组与数据结构
    php基础-字符串处理
  • 原文地址:https://www.cnblogs.com/l199616j/p/15401331.html
Copyright © 2020-2023  润新知