项目场景:
Gitlab在docker中布置好之后测试,发现SSH无法连接但是HTTP可以连接
提示:这是一个无效的源路径
问题描述
http可以识别为git项目,而ssh无法识别成git项目。
原因分析:
三种猜想
端口号被占用
尝试查看端口占用情况。
netstat -ano|findstr 3000
无输出记录,一眼顶针,鉴定为假。
SSH配置错误
虽然不太可能(毕竟搞过无数次了,见SSH配置),但是还是尝试一下
ssh -T git@gitee.com
gitee可以,但是gitlab就不行。在sourcetree内clone一个gitee项目,同样成功识别。
Gitlab权限
故考虑最后一种情况,端口号无法访问,显然是gitlab设置的问题。
解决方案:
进入容器
docker exec -it gitlab bash
编辑/etc/ssh/sshd_config配置文件
cd /etc/ssh
vim sshd_config
按"i",“o”,“a”,"r"任意字母进入编辑模式,将PermitRootLogin默认值由no修改为 yes
esc退出编辑模式后,输入:wq ,保存后重启下ssh服务让我们的修改生效。
重启ssh服务 ,注意是重启容器里的ssh
service ssh restart
最终