当从本地提交文件到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’ //配置的邮箱
接着按3个回车 :
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(公有密钥)
二 、查看密钥生成的目录
git init //初始化一下,看看路径对不对
四. 将公有密钥添加到github SSH keys
使用记事本等软件打开id_rsa.pub文件,将里面的内容复制,粘贴到github的New SSH key
五 .验证是否连接成功
$ ssh -T git@github.com
出现: You've successfully authenticated, but GitHub does not provide shell access.就是说明配置成功