SSH相当于一台电脑的通行证,把SSH配置到哪个账户,就表示可以使用这台电脑给这个账户下的仓库上传代码。使用SSH 密钥,可以不需要每次访问GitHub时提供用户名和密码。
https 和 SSH 的区别:
1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。
2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
1.检查电脑上是否已有SSH key
终端输入:
$cd ~/.ssh
$ ls
![](https://img.haomeiwen.com/i11265272/3cf47869b3e00438.png)
可以看到我的电脑上已经存在了id_rsa 和id_rsa.pub
如下图可以找到.ssh文件中已存在id_rsa和id_rsa.pub
![](https://img.haomeiwen.com/i11265272/c2584b9f30634b3f.png)
2.创建SSH key
为了演示操作,我先把电脑上已存在的删除掉,重新安装
终端继续输入:
ssh-keygen -t rsa -C "你的邮箱地址"
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。
省略-f后会,会让你输入文件名,来保存SSH key,我们可以不用管,直接按回车键,使用默认文件名,如下图:
![](https://img.haomeiwen.com/i11265272/1b95c5780c165aee.png)
然后会提示我们输入密码,确认密码,此密码是我们push文件的时候需要输入的密码,并非gitHub的登录密码。
如下图:
![](https://img.haomeiwen.com/i11265272/2c7064e8331fb4ca.png)
出现下图就说明我们的SSH key已经创建成功
![](https://img.haomeiwen.com/i11265272/3c9ef569b1447e40.png)
3.在github上添加SSH key
(1)用$ clip < ~/.ssh/id_rsa.pub
或编辑器打开拷贝id_rsa.pub文件中的内容
(2)登录github,点击右上角的设置,Settings-->Personal settings-->SSH and GPG keys-->New SSH key, 添加SSH key,把刚才拷贝的SSH key 拷贝到输入框(注意:SSH key 代码的前后不要留有空格或者回车)
在输入Title
![](https://img.haomeiwen.com/i11265272/6851927160e8849d.png)
![](https://img.haomeiwen.com/i11265272/910bb590c054db9c.png)
![](https://img.haomeiwen.com/i11265272/d0991d7a5308b8af.png)
4.测试SSH key是否设置成功
输入:ssh -T git@github.com
,出现如下图就说明我们已经成功设置SSH key
![](https://img.haomeiwen.com/i11265272/a6d73229dba5a9d8.png)
网友评论