・VPS
グローバルIPがあれば、性能が低くても大丈夫です。
・自宅サーバー
ラズベリーパイなどでも動かすことができます。
まずは、SSHのポートフォワーディングができるように、sshd_configの設定を変更します。
GetewayPortsを、clientspecifiedにする必要があるので、nanoを使ってsshd_configを編集します。
$ sudo nano /etc/ssh/sshd_config
変更前
#GatewayPorts no
変更後
GatewayPorts clientspecified
このように変更したら、sshdを再起動します。
この設定をすると、すべてのポートに影響が出るので、ファイアーウォールの設定をしっかりと行ってください。
$ sudo service sshd restart
次に、ポートを開放します。今回は、Ubuntu Serverでやっていきます。
ufwが導入されていない場合は、
$ sudo apt install ufw
$ sudo ufw allow 22(sshのポート番号)
Rule added
Rule added (v6)
$ sudo ufw allow (ほかの使いたいポート番号)
Rule added
Rule added (v6)
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
と打ってください。
今回は50000番を使います。
Ubuntuで50000番のポートを開放する場合は、
$ sudo ufw allow 50000
と打つと開放されます。
次に自宅サーバーで、リバースSSHをします。
今回はマインクラフトサーバーを公開してみるので、ポートは25565です。
ssh -R <VPSのIPアドレス>:50000:localhost:25565 -N <ユーザー名><VPSのIPアドレス>
-Rはポートフォワーディングを指定しています。
-Nはシェルを開かずに、ポートフォワーディングの機能だけを利用します。
自宅のポートを開放せずに、外部に公開することができました。ファイアーウォールの設定は、しっかりやっておきましょう。