本地git与github绑定ssh
目标
如果不绑定的话,在clone私有仓库和提交修改至远程仓库时,都需要在命令行内输入github/gitee的账号密码。
本文章的操作是将本地ssh密钥上传至github,以达到后续不再需要每次都输入账号密码
(网上所有绑定ssh的教程,目的都是这个,但就没人解释能带什么)
我们需要在本地使用非对称算法生成两个文件,ssh公钥和私钥。私钥保存在本电脑,将公钥的内容,通过github和gitee的个人管理界面登记。 在本地git连接github时,就会使用本地私钥生成一串信息发送给github服务器,对方使用我们之前提交的公钥验证通过,就登陆成功了。
开始操作
windows系统,请使用安装git后所提供的git bash软件,这个软件可以让windows实现跟linux一样的命令行指令操作(基于mingw)。

1在本地生成ssh-key
大部分教程会要求填写邮箱号码,但github和gitee都只能获取生成后的那串公钥,并不能破解得到存储于里面的邮箱号数据。这串字符串的功能只是备注,甚至不加也不会影响功能
ssh-keygen -t rsa -C " orange2c "
输入指令后,会要求填写存放路径,以及设置密码,每次连接都需要输入这里设置的密码。我们直接按三次回车就行,存放在默认路径,默认无密码。

如果你想同时绑定github和gitee,不需要创建两次密钥,可以用创建的这一份,同时登记给两个网站。
2复制公钥内容
进入默认存放密钥的路径
linux的默认路径位于 ~/.ssh
cd ~/.ssh
windows的默认路径位于 /c/Users/本人用户名/.ssh/
路径下有两个文件,id_rsa是私钥文件,需保存好。后缀是.pu的文件里就存储着我们要登记到网站的公钥

这里可以使用cat命令,将文件内容直接输出出来
cat id_rsa.pub
这一大坨东西就是公钥,需要全部复制。不怕泄露出来。

3将公钥登记到github/gitee
(gitee的界面设计跟github几乎一模一样,还有中文,就不赘述gitee的操作了)
(1)先进入设置

(2)选择添加新ssh key

(3)把公钥内容贴进去,title随便写,不影响实际连接。确认添加

这样就添加好了

4测试连接
使用指令测试是否能正常连接
ssh -T git@github.com
ssh -T git@gitee.com
第一次连接,会询问你是不是想要连接,想要输入yes。最后显示HI xxxx! You've successfully authenticated即是能成功连接

5使用
注意,clone时不能使用https形式的链接,必须使用ssh链接来clone。我们提交ssh公钥,就只能在ssh连接时不用输密码
使用git clone https://github.com/orange2c/xxxx.git 不能享受不输密码的便利
改为使用 git clone git@github.com:orange2c/xxxx.git 才能享受


实际使用push推送至远程仓库时,便不再需要输入账号密码。

更多推荐
所有评论(0)