一般在拉取github上的仓库时大多采用https方式,但是在不搭梯子的情况下很容易出现长时间拉不下来或者提交代码的时候推不上去的情况,速度快慢完全看运气,这是一个极不友好的体验。
某天听闻用ssh的方式会提升拉取和推送的速度,于是尝试了下,嗯,,果然很丝滑。至于“SSH是什么、为什么会提升拉取和推送的速度”,有需要的朋友请自行搜索。
由于SSH是通过公钥密钥的方式来验证身份的(密钥放在本地,公钥存到平台),所以我们需要先生成自己的密钥和公钥。
1、检查本地是否已经存在ssh key
一般存放于C:\Users\用户名\.ssh
文件夹,例如C:\Users\Administrator\.ssh
,下图是已经生成好的密钥对。
2、利用Windows自带的工具生成密钥对
在cmd或PowerShell命令面板上使用如下命令来生成(example_email@qq.com
需改为你自己的邮箱)
ssh-keygen -t rsa -C "example_email@qq.com"
输入上面的命令并回车后会弹出一些提示:第一次提示保存路径,一般不需要修改,直接回车就行;第二次提示输入密码短语(等于是sshkey的密码),可以有也可以没有(建议还是设置一下),注意输入密码的时候是不会回显的,这里假设设置的是123456abc
;第三次是重复输入上一次的密码。过程截图如下:
这时候再到.ssh
的文件夹下面去看,如果能看到id_rsa
和id_rsa.pub
两个文件,就说明已经生成成功了。
注意这个id_rsa.pub
是公钥,后面要放到GitHub上,另一个id_rsa是私钥,等于是你的密码,打死都不要发给别人。
3、把公钥id_rsa.pub中的内容放到GitHub上
先登录到网页版的github,然后点击右上角头像下的Settings菜单
点击左边的SSH and GPGkeys
,再点击右边New SSH key
填写Title(最好是见名知意),然后把id_rsa.pub中的内容怼到下面的Key那个框框里
最后点击Add SSH key,系统可能会让你输入GitHub账号的密码,然后就添加完成啦。
4、测试用ssh方式clone一个仓库
clone过程中可能会遇到下图中箭头所指的提示操作,输入对应内容后回车即可(passphrase即为生成密钥对时设置的123456abc
)
最后使用git remote -v show
命令可以查看到该仓库是使用的SSH协议
5、小乌龟客户端tortoisegit配置ssh
如果你也在使用小乌龟客户端,你可能会遇到使用SSH协议的仓库不能成功push的问题,这时你需要确保tortoisegit设置的SSH客户端是Git提供的才对。
第一次push过程中应该会让输入passphrase,其仍然为生成密钥对时设置的123456abc
有朋自远方来...评论一下呗O(∩_∩)O