GitHub生成秘钥
当从本地提交文件到github的时候,提交不成功,报错,可能问题就是你还没有生成ssh秘钥
GitHub要使用ssh密钥的原因:
git使用https协议,每次pull, push都要输入密码,相当的烦。
使用git协议,然后使用ssh密钥。这样可以省去每次都输密码。
公钥我们一般是给服务器的,他们到时候在权限中加入我给的公钥,然后当我从远地仓库中下载项目的时候,我在git clone xxx的时候,那个服务器我通过他的绑定的公钥来匹配我的私钥,这个时候,如果匹配,则就可以正常下载,如果不匹配,则失败.
大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。
秘钥生成过程
一、创建密钥
(1).检查下自己之前有没有已经生成shh
cd ~/.ssh
如果能进入到.ssh文件目录下 ,且显示id_rsa(私有密钥)和id_rsa.pub(公有密钥)则证明,之前生成过.ssh秘钥,可以直接使用里面的秘钥。
(2).生成秘钥
ssh-keygen -t rsa -C ‘xxx@xx.xxx’ //配置你的邮箱
1 Generating public/private rsa key pair.
2 Enter file in which to save the key (/c/Users/Mr.Yang/.ssh/id_rsa):
3 Enter passphrase (empty for no passphrase):
4 Enter same passphrase again:
5 Your identification has been saved in /c/Users/Mr.Yang/.ssh/id_rsa.
6 Your public key has been saved in /c/Users/Mr.Yang/.ssh/id_rsa.pub.
7 The key fingerprint is:
8 SHA256:zA6wNJrFB6NcqS6eBog/AHlzQuvFjYpG759Yhh1lWGI xxxxxx@xxxxx.xxx(上面自己的邮箱)
9 The key's randomart image is:
10 +---[RSA 2048]----+
11 | +E . |
12 | ..+oo+ |
13 | oo+*+.o |
14 |o.*===+o |
15 |==+*... S |
16 |B.+.o .o |
17 |++o. + . |
18 | +o.+ . |
19 |. o.o |
20 +----[SHA256]-----+
最后在.ssh目录下得到了两个文件:id_rsa(私有密钥)和id_rsa.pub(公有密钥)
二、查看密钥生成的目录
三、将公有密钥添加到github SSH keys
四、验证是否连接成功
$ ssh -T git@github.com
出现: You’ve successfully authenticated, but GitHub does not provide shell access.就是说明配置成功
五、known_host文件
当执行了第四部操作,则会生成known_host文件,这是因为你执行了一次连接操作(即第四步)。
大概意思就是:**警告:将IP地址“ 13.250.177.223”的RSA主机密钥永久添加到已知主机列表中。**而且它已经自动将这个IP地址的RSA主机密钥添加进了主机列表。并且下一次提交时就不会产生warning语句了。
该文件记录不同IP地址的RSA主机密钥,大概每次连接的时候都会根据其中的密钥进行检验。
.ssh目录下存在着记录上一次RSA主机密钥的数据。