如何通过 SSH 隧道传输端口 25565?

如何通过 SSH 隧道传输端口 25565?

我想玩一个托管在端口 25565 上的游戏(minecraft!),但我大学的防火墙不允许该端口。

我在离大学不远的地方有一台运行 Linux 的专用服务器,所以我认为有一种方法可以通过它来建立隧道(但我以前从未这样做过,也没有隧道方面的知识/经验)

速度可能会很慢,但总比完全不能玩要好。是否可以只使用 SSH,还是需要其他客户端/服务器软件?我的服务器安装了 OpenSSH。另外,我用来玩游戏的电脑运行的是 Ubuntu。

我尝试过搜索,但似乎针对不同类型的问题有很多不同的解决方案 =/

答案1

最简单的方法是使用油灰(客户端应用程序)。除了允许传出连接的防火墙规则外,远程端不需要任何东西

设置:

  1. 在 putty 中建立到你的 unix 机器的新连接。(添加主机详细信息等,暂时不要连接)
  2. 完成所有设置后,转到 Putty 树视图中的连接 -> SSH -> 隧道。
  3. 接下来在源端口中输入 25565,并将目标留空。
  4. 最后在第一个组合框中选择动态。
  5. 确保保存所有内容,然后单击打开按钮

这将在本地端口 25565 上创建一个隧道,连接到远程站点上的任何目标。这还假设您可以隧道连接 minecraft(您可能需要设置 IE 设置以使用 SSH 隧道,因为游戏有时在无法连接时会使用它)

如果你不能默认使用 Minecraft 隧道,请使用类似的应用程序代理上限强制所有传出连接通过隧道。

答案2

我画了一些草图

为了便于理解隧道机制,请观看这​​些草图。输入 ssh 隧道命令的机器称为»您的主人«

从本地启动 ssh 隧道


从远程启动 ssh 隧道

介绍

  1. 当地的:-L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

    ssh -L sourcePort:forwardToHost:onPort connectToHost意思是:使用 ssh 连接到connectToHost,并将所有连接尝试转发到当地的 sourcePortonPort到名为 的机器上的端口forwardToHost,可以从该connectToHost机器访问。

  2. 偏僻的:-R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.

    ssh -R sourcePort:forwardToHost:onPort connectToHost意思是:使用 ssh 连接到connectToHost,并将所有连接尝试转发到偏僻的 sourcePortonPort名为 的机器上的端口forwardToHost,可以从您的本地机器访问该端口。

你的例子

第二幅图代表了您的场景。这remotehost是您的距离大学不远的运行 Linux 的专用服务器。这farawayhost是您要通过其粉色端口连接的被阻止的 minecraft 服务器25565

 ssh -L 12345:minecraftServerIP:25565 dedicatedServer

绿色端口的端口号为12345。您现在可以通过连接到来访问 minecraft 服务器

localhost:12345

当然,您可以将绿色端口的号码更改12345为您想要的任何号码。

答案3

简单,运行命令

ssh -L 25565:minecraftserverIp:25565 user@remotelinuxbox

然后将服务器添加到你的 minecraft 客户端 localhost:25565

这将允许您通过 ssh 隧道连接到远程 minecraft 服务器。

答案4

您可以更改 Minecraft 运行的端口,因此只需将其设置为 22(因为他们没有阻止 SSH),然后您就可以通过在每个客户端上指定端口来玩。

相关内容