docker-gitlab使用ssh克隆时一直提示输入密码

前言

如果gitlab直接部署在宿主上,使用ssh克隆没有问题。但是,gitlab部署在容器中就出现这个问题。

开启ssh传输的流程

一般情况下,如果客户机要免密访问gitlab,需要把本机的公钥(.pub)复制到gitlab服务器注册(一般在web界面操作),这样客户机就可以免密访问仓库了。

原因分析

ssh传输都是通过22端口传输的,一般被宿主的sshd服务占用。所以gitlab容器的22端口不能直接映射到宿主的22端口,要换个其他端口,比如222。

这样,通过端口映射,客户端的ssh传输请求就能达到容器中的gitlab服务。

同时,还需要修改gitlab的gitlab_rails[‘gitlab_shell_ssh_port’] = 222并使用命令gitlab-ctl reconfigure命令重新配置。这样,从网页获取的克隆地址就是222端口,通过该端口,客户机ssh请求直达容器内部。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值