使用ssh key这种方式进行clone ,pull github上面的项目,使用 git clone或者git pull origin master出现permission denied (publickey),原因是因为ssh key过期失效或者没有ssh key。 那么解决这种的问题的方法就是重新生成一个新的ssh key ,然后将这个ssh key添加到github账户上面,就可以了。

(1) 检查SSH key是否已经存在

用这个命令 ls ~/.ssh/ 
进行检查 id_rsa.pub 是否存在,如果存在,就不用生成一个新的SSH key了,直接跳到下面的第3步。

(2)如果第1步中的SSH key不存在,生成一个新的SSH key

命令如下:

ssh-keygen -t rsa -b 2048 -C “your_email@example.com” 
其中,your_email@example.com要修改成你的邮箱地址。 
回车后输出如下: 
Generating public/private rsa key pair. 
Enter file in which to save the key (/home/xxx/.ssh/id_rsa): 
其中,xxx是你的用户名,直接回车,会将key保存到默认文件中。 
接着会输出: 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
这两步是让你输入一个密码,以及确认密码,这个密码在你提交代码到Github时会用到【注意:记住这个密码,最简单的方式就是设置的和github账户登入密码一样,容易记住】 
回车后就提示成功了: 
Your identification has been saved in /home/xxx/.ssh/id_rsa. 
Your public key has been saved in /home/xxx/.ssh/id_rsa.pub. 
The key fingerprint is: 
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com 
到这一步,你会发现 ~/.ssh/id_rsa.pub 文件已经生成了。

(3)将SSH key添加到ssh-agent

先确认ssh-agent处于启用状态: 
eval $(ssh-agent -s)

输出类似于:

Agent pid 32070

然后将SSH key添加到ssh-agent:

ssh-add ~/.ssh/id_rsa

这时又会要你输入密码:

Enter passphrase for /home/xxx/.ssh/id_rsa: 
输入刚才记起来的密码,然后回车

(4)将SSH key添加到Github账户中

这一步,不用像网上说的那么复杂,直接在打开id_rsa.pub这个文件(这就是我们刚刚生成的ssh key文件),一般大致路径如下(每个人电脑不同,路径也会不同):系统盘符 —- 用户名 —- 计算机用户名 —-.ssh ,在这里名就可以看到 id_rsa、id_rsa.pub 、known_host这三个文件,打开id_rsa.pub,将里面的内容原样全部复制起来。打开github.com,登入账户,点击头像旁边的下拉按钮,选择settings —- ssh and gpg keys —— new ssh key —- 粘贴 —- 保存。如下图:

(5)保存后,就能在上面看见刚建立的ssh key,之后在git 客户端就能够使用了

验证ssh连接:

  1、服务器系统命令行输入如下命令:

    ssh -T git@github.com

  你会看到:

  

  或者

  

  2、输入yes回车,你会看到:

  

  这样你的密钥就设置好了,试一下拉取代码并部署环境是不是很666了;

permission denied (publickey)问题的解决和向github添加ssh key的更多相关文章

  1. permission denied (publickey)问题的解决 和 向github添加ssh key

    使用ssh key这种方式进行clone ,pull github上面的项目,使用 git clone或者git pull origin master出现permission denied (publ ...

  2. 由于SSH配置文件的不匹配,导致的Permission denied (publickey)及其解决方法。

    读者如要转载,请标明出处和作者名,谢谢.地址01:http://space.itpub.net/25851087地址02:http://www.cnblogs.com/zjrodger/作者名:zjr ...

  3. SSH方式登录github出现Permission denied (publickey)

    今天在公司上传了代码,回到家pull,结果竟然出现了“Permission denied (publickey)“这种东西.第一反应是key不对,可是上次明明用key登录过,不可能不对啊,难道是文件被 ...

  4. mac 登录亚马逊云服务器报错:Permission denied (publickey).

    申请的亚马逊云服务器EC2,实例为ubuntu系统 一.打开终端,定位到放置密钥的文件夹: 二.确保私有秘钥不是公开可见的: p.p1 { margin: 0.0px 0.0px 0.0px 0.0p ...

  5. github提交代码时,报permission denied publickey

    在像github提交代码时,报permission denied publickey. 查找了一下,可能是因为github的key失效了. 按照以下步骤,重新生成key. ssh-keygen 一路默 ...

  6. Permission denied (publickey),Gitlab & Github 多ssh key 冲突 导致的权限问题

    Github 多ssh key导致的权限问题 :Permission denied (publickey) 公司用gitlib搭建了git服务器,自己已有github账号,用ssh-keygen分别生 ...

  7. windows下github 出现Permission denied (publickey).解决方法

    今天在学习github的时候遇到了一些问题,然后爬了一会,找到了解决方法记录下来,以防忘记,当然能帮助别人最好啦! github教科书传送门:http://www.liaoxuefeng.com/wi ...

  8. Permission denied (publickey). fatal: The remote end hung up unexpectedly 解决办法

    这两天学习git的时候,在本地创建了一个库,同时自己在GitHub上面也创建了一个库,照着廖老师的教程一步一步走到了push的环节突然出现了这样的错误: [zhangxiyu@localhost le ...

  9. [转载]windows下github 出现Permission denied (publickey).解决方法

      今天在学习github的时候遇到了一些问题,然后爬了一会,找到了解决方法记录下来,以防忘记,当然能帮助别人最好啦! github教科书传送门:http://www.liaoxuefeng.com/ ...

随机推荐

  1. $Noip2013/Luogu1970$ 花匠 $dp$+思维

    $Luogu$ $Sol$ 和$Poj1037\ A\ Decorative\ Fence$好像吖. $f[i][0/1]$表示前$i$个数,且选了第$i$个数,这个数相对于上一个数是下降(上升)的, ...

  2. mysql主从同步--读写分离。

    1.mysql 安装参考 https://www.cnblogs.com/ttzzyy/p/9063737.html 2. 主mysql,从mysql 指定配置文件启动 mysqld --defaul ...

  3. SimpleFactoryPattern(简单工厂模式)-----Java/.Net

    工厂模式是最常用的一种创建型模式,通常所说的工厂模式一般是指工厂方法模式.本篇是是工厂方法模式的“小弟”,我们可以将其理解为工厂方法模式的预备知识,它不属于GoF 23种设计模式,但在软件开发中却也应 ...

  4. [Linux实践] macOS平台Homebrew更新brew update卡死,完美解决

    [Linux实践] macOS 平台 Homebrew 更新 brew update 卡死,完美解决 版本2020.01.05 摘要: 使用brew install [软件包]安装软件包时,卡在Upd ...

  5. 啊哈!C语言课后参考答案下

    最近看到一本好评量很高的的C语言入门书,课本真的很好,入门的话.专业性没有那么强,但入门足够了!!好评!看着看着就想把这本书的题课后习题都写出来,最后就有了这个小结.可能有的不是最好,不那么专业,但主 ...

  6. 让Antd Modal变成可拖动弹窗

    思路: 1.首先需要两个DIV,一个是和视口一样大drag-mask,绑定mouseMove事件和mouseUp事件,另一个是和Modal一样大的drag-target,绑定mouseDown事件: ...

  7. 手把手带你了解消息中间件(2)——RabbitMQ

    RabbitMQ官网: http://www.rabbitmq.com/ Erlang官网:https://www.erlang.org 友情提示:RabbitMQ基于Erlang语言开发的,要想使用 ...

  8. yarn详细入门教程(转载)

    简介Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具.就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 n ...

  9. hadoop配置环境变量

    hadoop安装包解压 tar -xvf hadoop-2.7.7.tar.gz 解压成功ll查看文件 配置环境变量 1. vi  /home/wj/hadoop-2.7.7/etc/hadoop/h ...

  10. python中property和setter装饰器

    property和setter装饰器 作用:调用方法改为调用对象, 比如 : p.set_name()     改为   p.set_name 区别:  前者改变get方法,后者改变set方法 效果图 ...