在不打开管理用户的情况下设置 git SSH 服务器
Posted
技术标签:
【中文标题】在不打开管理用户的情况下设置 git SSH 服务器【英文标题】:Setup git SSH server without opening up the management users 【发布时间】:2021-06-21 03:04:12 【问题描述】:目前我正在建立一个 Gitlab 服务器。 将 ssh 端点暴露给互联网(因为这是默认的 git 协议)并仍然允许 ssh 管理服务器的好方法是什么。
允许管理(受密码保护的)用户从 Internet 进行身份验证似乎不是很“安全”。
我可以限制某个用户 (git) 仅从特定 IP 地址连接,因为防火墙 + 反向代理将到位。
感谢你们分享的任何信息!
【问题讨论】:
这个techietown.info/2017/05/… 怎么样? 【参考方案1】:我只需要为我的商店这样做:
-
SSH 端口 22 永远不会(在大公司环境中)向 Internet 开放,甚至不会向企业负载均衡器/反向代理重定向流量开放:根据我的经验,它不是一个允许的公共入口点
应该在该 GitLab 服务器上定义一个专用的 SSH 端口,它有自己的 SSH 守护进程,其中:
只允许一个专用帐户 (
AllowUsers
)
无法进行交互式会话 (PasswordAuthentication no
)
只是~git/.ssh/authorized_keys
中使用的强制命令,调用gitlab_shell
负载平衡器/反向代理(通常为 F5 in big company,如 reverse-proxy)会将公共 22 端口从 DMZ 重定向到服务器上的专用 SSH 端口
【讨论】:
感谢更新,这让我指出了正确的方向。使用您提供的指针,我找到了这篇文章***.com/questions/61443935/…。然后我在这里找到了一个 hardend sshd 文件:github.com/k4yt3x/sshd_config/blob/master/sshd_config @TomDierckx 很好。这应该确实有效。以上是关于在不打开管理用户的情况下设置 git SSH 服务器的主要内容,如果未能解决你的问题,请参考以下文章