我已经在 Docker 上安装了 GitLab ee。我想通过 ssh 而不是密码使用身份验证,但每次我尝试进行身份验证时,连接都会关闭。SSH 端口是1122->22
所以我正在连接git@gitlab.example -p 1122
. 我还在 ufw 中启用了端口,检查了容器中是否正在运行 openssh 服务器。
错误:Connection closed by HOST port 1122
我搜索了很长时间,但我没有找到任何东西,所以我很高兴有任何建议。
前段时间我想知道如何同时使用 UFW 和 Docker(GitLab 服务似乎不是问题,很确定你可能在任何服务上都遇到同样的问题)。
查看此线程:Ubuntu下docker + ufw的最佳实践是什么
并考虑这一点:
要坚持 iptables 规则,请根据您的服务器发行版安装 linux 软件包 iptables-persistent,在我的情况下(Debian)是 sudo apt install iptables-persistent 并且软件包安装会将 NAT 规则添加到在启动时执行的持久文件中。~afboteros
通过 Docker 使用 Gitlab 时,一些“重端口绑定”服务(如 SSH)可能需要您将它们配置到暴露的端口。也许如果你将 SSH 服务设置1122
为你想要的,并像在 Dockerfile 上那样绑定它,也许你可以让它工作。