问题:Gitlab是使用docker安装的,配置好公钥私钥后,请求gitlab一直需要输入密码,而且这个密码输入什么都被拒绝。
原因:这是因为docker做了端口映射,宿主机使用端口2222映射容器的22端口。
这样,git客户端请求服务器时,如果没有指定端口,默认使用的ssh端口还是22,将导致权限验证失败。
解决方法:进入Gitlab docker容器,进入目录/etc/gitlab/gitlab.rb,修改gitlab.rb文件以下配置项:
gitlab_rails['gitlab_shell_ssh_port'] = 10022
文件内容较多,使用vi命令进入后,可以使用命令
/gitlab_rails['gitlab_shell_ssh_port']
进行查找并修改
然后重启gitlab!
重启后会发现仓库中的ssh方式的地址已经携带了端口号,如:ssh://git@dove.zjf.com:2222/kedongyu/csdndemo.git

解决GitLab使用Docker部署后,SSH连接需不断输入密码的问题。通过修改gitlab.rb文件中gitlab_shell_ssh_port配置,重启GitLab服务,实现免密SSH连接。
1万+

被折叠的 条评论
为什么被折叠?



