问题:gitlab是使用docker安装的,配置好公钥私钥后,请求gitlab一直需要输入密码,而且这个密码输入什么都不对。
原因:后来发现是因为docker做了端口映射,如使用宿主机的10022映射容器的22端口。
这样,git客户端请求服务器时,如果没有指定端口,默认使用的ssh端口还是22,导致权限验证失败。
解决方法:修改gitlab.rb文件以下配置项:
gitlab_rails['gitlab_shell_ssh_port'] = 10022
然后重启gitlab!
重启后会发现仓库中的ssh方式的地址已经携带了端口号,如:ssh://git@172.20.69.35:10022/dev/first.git