一.概述
很多公司现在git作为代码版本控制工具,然后自己搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们也可以使用ssh协议来拉取代码。
为什么GitLab需要SSH Key呢?因为Git Lab需要识别出你推送的提交确实是你推送的,而不是别人冒充的。而GitLab只要知道了你的公钥,就可以确认只有你自己才能推送。ssh形式要弄生成配置ssh密钥,有本地Windows电脑生成配置的,有在服务器Git命令生成配置的。
当然,GitLab允许你添加多个Key。假定你有若干个电脑,你一会儿在公司提交,一会儿在家里提交,只要每台电脑的key都添加到GitLab,就可以在每台电脑上往GitLab推送了。其他操作都和GitHub是一样的了。
二.解决方法
1.确认本地密钥
SSH 秘钥默认储存在账户的主目录下的 ~/.ssh 目录 (也就是本地电脑C盘你的账户下)
如:C:\Users\BF100400\.ssh\
查看是否包含id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有.pub 后缀的文件就是公钥,另一个文件则是密钥。
如果有这两个文件,则跳过1.2;如果没有这两个文件,甚至.ssh目录也没有,则需要用ssh-keygen 来创建
2.生成密钥信息
- 在.ssh 目录下右键打开Git Bash(.ssh目录不存在,则在任一目录下操作,或者手动创建该目录)
ssh-keygen -t rsa -C "your_email@youremail.com"
直接Enter就行,然后会提示输入密码(可输可不输)
- 执行完成之后,在.ssh 目录下就会生成秘钥文件(没有.ssh目录的会自动生成,手动创建的则不会重复生成)
在~/.ssh/下会生成两个文件,id_rsa和id_rsa.pub
id_rsa是私钥
id_rsa.pub是公钥
3.查看密钥
打开本地git bush,使用下列命令生成ssh公钥
进入.ssh目录
cd ~/.ssh
回车
ls
查看key值
cat id_rsa.pub
4.复制key值添加到GitLab
打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮
到此就完成了gitlab配置ssh key的所有步骤,我们就可以愉快的使用ssh协议进行代码的拉取以及提交等操作了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)