不安全的SSH(或者,通过HTTP代理Minecraft数据包)

时间:2013-01-20 01:29:44

标签: ssh minecraft ports openshift tunneling

我在OpenShift上建立了一个Minecraft服务器,这是一个免费的PaaS。 OpenShift需要内部应用程序(如我的服务器)绑定到15000到35530或端口8080的端口。但是,它还需要外部客户端访问其中一个端口中的服务器: 22, 25, 80, 109, 110, 143, 220, 443, 465, 587, 993,  或995。

换句话说,没有任何内部暴露的端口暴露在外;但是,有两种沟通方式。一个是SSH端口隧道,我已经在我的计算机上设置了它。第二个是通过HTTP,当它通过内部8080发送时自动转发到80。 SSH隧道的问题是需要通过OpenShift添加客户端的公钥,客户端需要设置他们的私钥,这对我的大多数朋友来说太复杂了。

我想让连接过程更容易,所以我想到了两种可能的方法。第一个设置更简单的方法是通过不要求某个公钥或私钥连接来“解除”SSH连接。它是一个游戏服务器,因此安全性对我来说根本不是问题,但我认为这可能是不可能的,因为SSH是为了安全而构建的。另一种更难的方法是将Minecraft数据包嵌入到HTTP数据包中,OpenShift系统会自动转发。也许这可以使用现有的HHTP代理系统吗?

如果有人能帮助我解决这两种方式中的任何一种(或者另一种方式,如果你能想到的话),我将非常感激!

1 个答案:

答案 0 :(得分:1)

为什么不专门为此应用程序创建一个ssh密钥对,并创建一个脚本,使用该特定密钥打开隧道,然后启动该程序?您还可以对允许使用该密钥的任何连接(无)进行限制。

#!/bin/sh
ssh -i ~/pathtoidfile -L 25565:localhost:yourport -f -N
# run minecraft to local server?

这只是袖手旁观 - 可能不完全正确。假设使用unix(Mac或Linux)系统。对于Windows,您必须安装ssh客户端(mingw?)并使用cmd语法。