PuTTYを使用してサーバーとラップトップの間にトンネルを作成しようとしています。問題は、ラップトップにはパブリックIPアドレスがないため、逆接続を行う必要があることです。しかし、私は本当にそれを行う方法を知りません。
私が欲しいものを示しましょう:
サーバー(ポート:6000)---------->ラップトップ(ポート:7000)
しかし、ラップトップにはパブリックIPアドレスがないので、次のようにする必要があります。
サーバー(ポート:6000)<----------ラップトップ(ポート:7000)
送信元ポート、宛先などとして何を書くべきか教えてください。
必要な設定によって異なります。
セットアップ1)サーバーがリッスンしています
ssh tunel LAN destination
SERVER (listen on port 6000) ==========> LAPTOP -----> ip:port
(LANの宛先は、ラップトップ自体を接続するためのlocalhost:portにすることもできます)
PuTTY SETUP:PuTTYウィンドウのタイトルを右クリックし、[設定の変更]/[トンネル]を選択して、次のように入力します。
source port: 6000
destination: ip:port (or hostname:port)
select "Remote"
SSH: ssh -R 6000:hostname:port
セットアップ2)ラップトップがリッスンしています
ssh tunel destination
LAPTOP (listen on port 7000) ==========> SERVER -----> ip:port
この場合も、サーバー自体に接続するための宛先はlocalhost:portにすることができます。
PuTTYセットアップ:
source port: 7000
destination: ip:port (or hostname:port)
select "Local"
SSH: ssh -L 7000:hostname:port
どちらの場合も、リスニングラップトップ/サーバーが他のホストからの接続も受け入れるかどうかを(PuTTYのチェックボックスで)指定することもできます。
矢印の方向は、どのマシンがパブリックにルーティング可能なIPアドレスを持っているかとは関係ありません。解決しようとしている問題に基づいて、矢印をどの方向に向けるかを知る必要があります。接続は常にラップトップから開始されますが(他のマシンから直接アドレス指定できないため)、ポート転送をどのように機能させるかに基づいて、いずれかの接続転送引数を使用します。
PuTTY
がわからないので、対応するコマンドを OpenSSH ;から指定します。うまくいけば、PuTTY
のGUI設定ボックスで対応するオプションを簡単に見つけることができます。
laptop:7000
への接続をserver:6000
に転送する場合は、ssh -L 7000:server:6000
を使用できます。接続がラップトップで発生している場合は、これをssh -L localhost:7000:server:6000
に少し修正できます。これにより、ラップトップのポートがラップトップ自体で開始された接続に制限されます。
このコマンドでは、サーバー上のプログラムが接続のためにポート6000
をリッスンしている必要があります。ラップトップ(またはローカルネットワーク上の他の場所)のプログラムは、接続を開始するためにlocalhost:7000
(またはマシンのルーティング不可能なアドレスであるポート7000
)に接続できる必要があります。
server:6000
への接続をlaptop:7000
に転送する場合は、ssh -R 6000:localhost:7000
を使用できます。デフォルトでは、これはサーバーマシンで開始された接続に対してのみ開かれます。サーバーに接続できるすべてのマシンに公開したい場合は、ssh -R *:6000:localhost:7000
を使用できます。
このコマンドを使用する場合、ラップトップ上のプログラムは、接続のためにポート7000
をリッスンしている必要があります。サーバー(またはサーバーのネットワーク上の他の場所)のプログラムは、接続を開始するためにserver:6000
(またはサーバーのルーティング可能なアドレス、ポート6000
)に接続できる必要があります。
-L
と-R
の接続転送の違いを理解するのに何年もかかりました。 -L
は、プログラムが接続を試みることを示しています Locally、および-R
は、プログラムが接続を試みることを示します R感情的に。 (違いについて心配する必要はありません。必要になるたびにマニュアルで調べる必要があります。)