-2

無料のPaaSであるOpenShiftにMinecraftサーバーをセットアップしました。OpenShiftでは、内部アプリケーション(サーバーなど)が15000〜35530の範囲のポートまたはポート8080にバインドする必要があります。ただし、外部クライアントが次のいずれかのポート(22、25、80、109、 110、143、220、443、465、587、993、または995。

つまり、内部で公開されているポートはいずれも外部に公開されていません。ただし、通信には2つの方法があります。1つはSSHポートトンネリングです。これはすでにコンピューターに設定しています。2つ目はHTTPを介したもので、内部で8080を介して送信されると自動的に80に転送されます。SSHトンネリングの問題は、OpenShiftを介してクライアントの公開鍵を追加する必要があり、クライアントが秘密鍵をセットアップする必要があることです。これは、私の友人のほとんどにとって複雑すぎます。

接続プロセスを簡単にしたいので、2つの方法を考えました。1つ目は、セットアップが簡単な方法で、接続に特定の公開鍵または秘密鍵を必要としないことでSSH接続を「保護解除」することです。これはゲームサーバーなので、セキュリティは私にとってまったく問題ではありませんが、SSHは安全であるように構築されているため、これは不可能かもしれないと思います。もう1つの方法は、より困難ですが、MinecraftパケットをHTTPパケットに埋め込むことです。これは、OpenShiftシステムが自動的に転送します。おそらく、これは既存のHHTPプロキシシステムを使用して可能でしょうか?

誰かが私がこれらの2つの方法のいずれか(またはあなたが1つを考えることができるなら別の方法)のいずれかを解決するのを手伝ってくれるなら、私は非常に感謝するでしょう!

4

1 に答える 1

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構文を使用する必要があります。

于 2013-01-20T01:56:31.820 に答える