ssh 端口转发从远程位置到服务器网络上的计算机

ssh 端口转发从远程位置到服务器网络上的计算机

我在网上到处搜索,却找不到我想要的端口转发形式的简单示例。好吧,事实是,我可能只是没有理解所使用的术语,然后忽略了一个有效的解决方案。

这是建议的设置。我家里有一台电脑(主页C)并且我通常连接到工作服务器(工作服务器),但每当我连接到服务器时,我通常(90% 以上的时间)只是跳转到网络上的另一台计算机(本地控制192.168.xy)。我很乐意设置工作服务器如果我使用非标准端口(例如 12345),则将端口转发到其他本地计算机的 IP 地址。

假设所有涉及的计算机都运行某种 UNIX 变体,但用户仅在某些计算机上具有 root 访问权限(不是工作服务器)事实上,用户名用户在所有计算机上都一样。我正在尝试找到解决以下问题的方法:

  1. 使用命令工作服务器它将把端口转发到给定的本地计算机(我想我还需要知道哪些端口可用)
  2. 运行的命令主页C连接到本地控制

顺便说一下,如果可以限制可以连接到的计算机的 mac 地址,那将会很有趣用户@工作服务器因为我认为这大大提高了我的安全性。

如果您有任何其他想法或有用的建议,我将不胜感激。

答案1

如果您使用 SSH 连接,那么隧道将是合适的术语。

putty.exe -ssh username@publicip -pw password -L localport:privateip:destinationport

举个例子,如果我要通过 SSH 隧道连接到地址为 192.168.1.15 的计算机上的端口 80,该计算机的公共 IP 地址为 xxx.xxx.xxx.xxx,SSH 服务器位于该计算机上,我会执行以下操作:

putty.exe -ssh [email protected] -pw password -L 8080:192.168.1.15:80

然后我可以打开 Web 浏览器访问 127.0.0.1:8080,然后就会弹出远程机器上端口 80 上正在提供的任何服务。

答案2

您正在寻找的技术称为“网络地址转换”,简称 NAT。解决方案特定于操作系统。它通常涉及安装或激活路由软件。您需要将 workServer.com 配置为路由器并使用 NAT 转发端口。如果 workServer.com 运行的是 FreeBSD,那么您可以这样做http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-natd.html

您可以使用防火墙来过滤 IP 地址而不是 MAC 地址。或者您可以使用 ssh 隧道。

相关内容