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

转自http://www.javashuo.com/article/p-rxqxecov-ht.htmlgit

使用ssh key这种方式进行clone ,pull github上面的项目,使用 git clone或者git pull origin master出现permission denied (publickey),缘由是由于ssh key过时失效或者没有ssh key。 那么解决这种的问题的方法就是从新生成一个新的ssh key ,而后将这个ssh key添加到github帐户上面,就能够了。github

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

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

(2)若是第1步中的SSH key不存在,生成一个新的SSH keyide

命令以下:.net

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 文件已经生成了。blog

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

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

输出相似于:io

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 客户端就可以使用了

相关文章
相关标签/搜索