web-dev-qa-db-ja.com

ローカルポートをリモートサーバーにトンネリングする方法

DynDNSから購入したドメインがあります。サーバーを実行できるように、ドメインをIPアドレスにポイントしました。私が抱えている問題は、サーバーコンピュータの近くに住んでいないことです... sshトンネルを使用できますか?私が理解しているように、これによりサーバーにアクセスできるようになります。リモートコンピュータがポート8080からsshトンネルを介してsshクライアント(ラップトップのポート80)にトラフィックを転送するようにしたいのですが、これは可能ですか?

5
Trevor Rudolph

これは、sshのドキュメントにいくらか埋め込まれていますが、実際には非常に簡単に実行できます。 OpenSSHを想定すると、基本的な構文は次のとおりです。

ssh -R 8080:localhost:80 -N [email protected]

これにより、your-server.dyndns.orgのポート8080でリスニングソケットが開き、your-server.dyndns.org:8080で行われた接続はすべて、SSHトンネルを介して、そのSSH接続を開いたコンピューターに転送されます。 localhost:80に転送されます。

-Nオプションは、ポートフォワーディングを確立するためだけに、シェルなどを開かないようにSSHに指示します。これにより、バックグラウンドに送信して実行したままにすることができます。

PuTTYはほぼ同じ構文を使用しますが、ある種のGUIにラップされています。原理は同じです。

しかし、あなたがすることに注意してください。基本的に外部トラフィックをネットワークに集中させているため、ネットワークのファイアウォールに穴を開けています。それがあなたのネットワークでない場合、あなたの管理者はこれに反対し、あなたに責任を負わせるかもしれません—通常、あなたが特定の種類のトラフィックを許可されない理由があります。

8

ローカルポート80をループバックインターフェイス(127.0.0.1)だけでなく転送できるようにするには、最初にリモートマシンのGatewayPorts clientspecified/etc/ssh/sshd_configを構成する必要があります。

次に、ポートを次のように転送します。

ssh -R 0.0.0.0:8080:localhost:80 -N [email protected]
2
panticz.de