![SSH本地端口转发或SSH + Socat](https://linux22.com/image/15073/SSH%E6%9C%AC%E5%9C%B0%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%E6%88%96SSH%20%2B%20Socat.png)
我想连接到主机上端口 X 上运行的服务。无法在主机 IP 地址和端口上访问该服务。我知道有两个选项可以实现此目的:
- 通过 SSH 隧道进行本地端口转发。 (ssh-L)
- 使用“SSH + socat”
其中哪一个是首选方法?上述方法中是否存在任何安全问题,例如其中一种方法是否被认为更安全?
编辑1
- 所涉及的服务是基于TCP的。
- X的范围是2000-9999。
- 主机(在端口 X 上运行服务)现在只是单个用户,即 root。但将来,它可能有2个用户,一个root用户,另一个非root用户。
- 这是系统的布局:
互联网上的人们调用我的服务的 API,例如 A。为了让 A 处理请求,它需要联系在端口 X 运行的主机上的服务。对主机的直接访问(包括 SSH)仅适用于我的服务 A。