Gitlab配置ssh,实现秘钥上传下载代码

常规配置

gitlab配置ssh比较简单,在代码机上使用ssh-keygen -t rsa -C "你的邮箱"制作id_rsaid_rsa.pub,然后来到gitlab的web页面,settings—ssh keys,把id_rsa.pub拷贝进去,然后点击Add key:
akb48

然后返回到代码机器上,再对应的代码目录里使用git remote -v查看一下当前的方式,如果不是git的话,通过git remote set-url origin git@你的project地址修改,然后再试一下 ssh -T git@"你的gitlab服务器地址"是否会出现welcome,如果可以的话,那么就可以通过ssh的方式下载上传代码以及git clone 对应的project了。

容器配置

但是现在很多人都用容器部署gitlab,而且在部署的时候除了指定80,443端口的映射,还制定了22端口的映射。比如我的这个gitlab容器的启动命令就是:

1
docker run --detach --hostname 外网IP --publish 443:443 --publish 80:80 --publish 2222:22 --name gitlab --restart always gitlab/gitlab-ce:latest

可见我把宿主机的2222端口对应给了gitlab容器。那么像上面的方法肯定不会成功,这里就需要我们修改一处地方。

首先进入容器,然后修改gitlab.rb文件,这个文件在容器里有很多,我这个镜像里的gitlab.rb是/etc/gitlab/gitlab.rb,然后把gitlab_rails['gitlab_shell_ssh_port']改成2222并且去掉注释,如图:
akb48

然后gitlab-ctl restart重启之,重启完毕之后,在代码机上测试一下ssh:
akb48

可以已经连通,修改一下remote master地址之后,就可以直接上传了:
akb48

感谢您请我喝咖啡~O(∩_∩)O,如果要联系请直接发我邮箱chenx1242@163.com,我会回复你的
-------------本文结束感谢您的阅读-------------