gitlab配置sshkey免密拉取代码

应用情景

        当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择https协议,当然我们亦可以选择ssh协议来拉取代码。但是网上很少找到如何用git客户端生成ssh key,然后配置在gitlab,那么本文,我们就来聊一聊如何本地git客户端生成ssh key,然后配置在gitlab里,而后使用ssh协议进行提交和拉取git远程仓库的代码。

配置方式

1. 打开本地安装好的git bash,使用如下命令生成ssh公钥和私钥对

ssh-keygen -t rsa -C 'xxx@xxx.com' 然后一路回车(-C 参数是你的邮箱地址)

当然passphrase可以设置密码,有的公司要求要有密码设置限制。

即使设置也就输入一次即可。

2.然后打开~/.ssh/id_rsa.pub文件(~表示用户目录,比如我的windows就是C:\Users\mazq),复制其中的内容

3. 打开gitlab,点击头像,找到Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮

4. 到此就完成了gitlab配置ssh key的所有步骤,我们就可以愉快的使用ssh协议进行代码的拉取以及提交等操作了

验证命令:ssh -T git@git-group.xxxx.com

5. 再试一下拉取代码和提交代码,应该就不需要输入密码了或者只输入一次密码。

异常情况

git clone git@xxx.git是可用的,git clone https是失败的或者一直弹要求输入git账号、密码之后也失败。

解决方案:

登录gitlab之后,配置好ssh key相关功能。

点击头像,找到Settings-->Password--->重置单点登录代码。

使用个人密码,不用sso。

总结

我们为什么要使用ssh协议呢?因为ssh更加安全,然后更加方便,比如我们公司用的https协议,那么如果你是使用http协议管理代码,那么需要修改所有的项目中的git地址变成https,这会把我们给逼疯的!但是如果我们一开始就是用ssh协议,这不需要任何的修改,简直不能再爽一点了。

 

posted @ 2021-04-22 20:35  森林木马  阅读(1630)  评论(0编辑  收藏  举报