如何在 k8 中设置用户 ssh 代理

如何在 k8 中设置用户 ssh 代理

我目前在 kubernetes 中托管 gitlab,还想将 sftp 服务移到那里。我想使用单个负载均衡器和 (nginx) ingress 来托管两者。

问题是 nginx ingress 只能将端口 22 转发到一个目的地。我解决这个问题的计划是在 k8 中设置一个代理服务,由 nginx 转发,将“git”用户转发到 gitlab,将所有其他用户转发到 sftp 服务。

这可能吗?我应该如何设置(特别是 sshd_config)?

此外,是否可以转发凭据——例如,如果某个用户使用他们已配置为在 gitlab 中使用的 ssh 密钥,它将识别他们为该用户。Sftp 用户使用密码。我想确保客户端“ssh”命令导致最终用户可用的凭据与目标 ssh 主机一起使用。特别是,我想确保 sftp 客户端(它们是我们的业务客户端,在某些情况下使用自动脚本)无需更改任何内容即可连接。(注意——我将重新分配 IP 并设置主机密钥,以便负载平衡器和代理从外部“看起来”尽可能相同。)

相关内容