环境:
服务器A:gitlab,运行在docker容器内。2222端口映射到容器内22端口;
#22端口问题,因为本身服务器的远程端口为22,故gitlab的ssh端口更改为非22端口;
服务器B:Jenkins,运行在docker容器内;
操作步骤:
一、服务器B
#进入Jenkins容器内
docker exec -it /bin/sh
#修改容器内的ssh默认端口,因为我的gitlab是2222
vi /etc/ssh/ssh_config
#生成密钥
ssh-keygen -t rsa
#复制公钥
cat /root/.ssh/id_rsa.pub
二、gitlab web页面
在gitlab的ssh密钥中粘贴刚复制的公钥,提交即可。
三、测试
#Jenkins容器内
ssh git@gitlab.xxxxx.cn
ps:在端口为非22的情况下,应该有其他办法不修改/etc/ssh/ssh_config也能正常连接(连接时都不指定端口)。因为修改后其他的ssh或者scp必须指定端口为22。欢迎其他朋友指点