我只想为用户将端口 22 (ssh) 转发到端口 7999(bitbucket 正在运行的位置)git
,并为其他每个用户使用普通 sshd。我查看了 HAProxy 的 ssh 转发,但它无法让我区分每个用户。
我如何在服务器? 我不希望每个客户端都配置ProxyCommand
他们的.ssh/config
。
答案1
我认为你不能这样做,因为在最初创建连接时用户是未知的,而这时你需要进行重定向。
您是否知道,任何可以放入每个用户的文件~/.ssh/config
都可以放在/etc/ssh/ssh_config
全局应用?也许您可以使用它来ProxyCommand
全局配置。
答案2
您可以尝试以下方法(未经测试):
在/etc/ssh/sshd_config
(或类似)中,添加如下内容:
Match user git
ForceCommand ssh git@localhost -p 7999
不要忘记重新加载/重新启动sshd
。这应该会通过端口 7999 将连接“隧道”到 Bitbucket。或者,netcat
也可以使用 ( ForceCommand nc localhost 7999
)。
正如我所说,这还没有经过测试,但它可以帮助我将 ssh 连接重定向到另一台主机。