限制 SSH public 密钥仅在特定端口上打开反向隧道(通过 ssh -R)

Restricting an SSH public key to open reverse tunnels (through ssh -R) only on a specific port

我有几台机器将位于我想要管理的 NAT 后面。我的想法是让他们自动设置反向 SSH 隧道返回我自己的服务器。但是,由于我将有几个这样的客户端同时连接,我想限制每个客户端仅在特定端口上设置反向隧道。因此,当我执行 ssh -p <tunnelport> <useronclient>@localhost 时,同一端口上没有多个客户端。我一直在尝试通过服务器上的 authorized_keys 文件来执行此操作,但还没有找到方法。

知道怎么做吗?还是我以错误的方式解决这个问题?感谢您的帮助!

您不能为远程端口转发执行此操作(您可以为本地端口转发)。您将端口号指定为 -R 参数的一部分,因此

  • 如果要允许并发连接并区分服务器,则必须为 NAT 后面的每个服务器选择唯一的端口。
  • 如果每个服务器都有唯一的端口,问题是什么?

如果更多客户端尝试创建 port-forwarding 到同一个端口,则后者将失败。