有没有办法在用户成功登录后自动通过 SSH 转发端口?

有没有办法在用户成功登录后自动通过 SSH 转发端口?

我在 Google 上寻找解决这个问题的方法,但我可能把它复杂化了。

我所寻找的是一种在用户登录时自动转发某些端口的方法。

基本上,我正在开发一个网站,该网站是主机上运行的不同服务器软件的门户。我想创建有限数量的 SSH 用户,并设置严格的限制;他们拥有帐户的唯一目的是转发端口。

我的问题是,我是否可以在 SSH 中设置一些配置选项,以便每当这些受限用户之一登录时,都会自动将多个主机端口转发给他们。

这里的想法是,我制作的网站只有一个指向的 URL 列表http://本地主机:端口。我研究了“EscapeChar”,我想我可以设置一个脚本,通过使用类似于“~CL PORT:localhost:PORT”来转发端口。

还有更简单的吗?我在这里遗漏了什么吗?

答案1

我不相信您可以在服务器端做任何事情来转发端口。我非常确定您需要客户端来设置端口转发。

SSH 客户端隧道可以在客户端配置中轻松配置。

如果您希望限制用户只能使用某个命令以及他们可以请求打开的某些端口,那么您可以使用 authorized_keys 文件中的命令和 permitopen 选项。有关详细信息,请参阅 sshd 手册页。

答案2

我不完全明白你想要什么,但如果你使用公钥加密,也许你可以使用command="xxxx"公钥参数。man sshd有关详细信息,请参阅。

或者,有ssh -f命令(加上其他适当的选项)将 ssh 放在后台,但这听起来不像您想要的。

您可能还想检查 PAM。您可以使用 PAM 在登录时触发特定于 SSH 的命令。请参阅man pam以了解更多详细信息。

但是,正如有人所说,服务器可能没有办法转发端口。

如果您配置了 SSH 客户端的.ssh/config文件以在使用时创建转发,会怎么样?我想可能没有本地 shell...

相关内容