限制 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 到同一个端口,则后者将失败。
我有几台机器将位于我想要管理的 NAT 后面。我的想法是让他们自动设置反向 SSH 隧道返回我自己的服务器。但是,由于我将有几个这样的客户端同时连接,我想限制每个客户端仅在特定端口上设置反向隧道。因此,当我执行 ssh -p <tunnelport> <useronclient>@localhost
时,同一端口上没有多个客户端。我一直在尝试通过服务器上的 authorized_keys 文件来执行此操作,但还没有找到方法。
知道怎么做吗?还是我以错误的方式解决这个问题?感谢您的帮助!
您不能为远程端口转发执行此操作(您可以为本地端口转发)。您将端口号指定为 -R
参数的一部分,因此
- 如果要允许并发连接并区分服务器,则必须为 NAT 后面的每个服务器选择唯一的端口。
- 如果每个服务器都有唯一的端口,问题是什么?
如果更多客户端尝试创建 port-forwarding 到同一个端口,则后者将失败。