当前位置 博文首页 > ssh客户端使用详解,GitLab配置ssh key

    ssh客户端使用详解,GitLab配置ssh key

    作者:xiaoyingying 时间:2021-07-03 10:44

        当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码。但是网上很少找到如何用git客户端生成sshkey,然后配置在gitlab,我当时在做的时候苦于摸索,后来终于找到了解决方案,那么本文,我们就来聊一聊如何本地git客户端生成sshkey,然后配置在gitlab里,而后使用ssh协议进行提交和拉取git远程仓库的代码。
        解决方案
        1.打开本地gitbash,使用如下命令生成ssh公钥和私钥对
        ssh-keygen-trsa-C'xxx@xxx.com'然后一路回车(-C参数是你的邮箱地址)
        2.然后打开~/.ssh/id_rsa.pub文件(~表示用户目录,比如我的windows就是C:\Users\Administrator),复制其中的内容
        3.打开gitlab,找到ProfileSettings-->SSHKeys--->AddSSHKey,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Addkey按钮
        4.到此就完成了gitlab配置sshkey的所有步骤,我们就可以愉快的使用ssh协议进行代码的拉取以及提交等操作了
        5.再试一下拉取代码和提交代码,应该就不需要输入密码了
        本地配置多个sshkey
        大多数时候,我们的机器上会有很多的githost,比如公司gitlab、github、oschina等,那我们就需要在本地配置多个sshkey,使得不同的host能使用不同的sshkey,做法如下(以公司gitlab和github为例):
        1.为公司生成一对秘钥sshkey
        ssh-keygen-trsa-C'yourEmail@xx.com'-f~/.ssh/gitlab-rsa
        2.为github生成一对秘钥sshkey
        ssh-keygen-trsa-C'yourEmail2@xx.com'-f~/.ssh/github-rsa
        3.在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的sshkey,内容如下:
        4.按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub
        5.OK,大功告成,再次执行git命令验证是不是已经不需要再次验证权限了。
        6.再次查看~/..ssh目录下的文件,会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件
        总结
        我们为什么要使用ssh协议呢?因为ssh更加安全,然后更加方便,比如我们公司的gitlab由http协议换成了https协议,那么如果你是使用http协议管理代码,那么需要修改所有的项目中的git地址变成https,这会把我们给逼疯的!但是如果我们一开始就是用ssh协议,这不需要任何的修改,简直不能再爽一点了。
        原文链接:https://www.cnblogs.com/hafiz/p/8146324.html