ビジボックスルーターがあり、Telnetを使用してコンソールにログインし、Webインターフェースにもアクセスできます。
私の質問は、自分のコンピュータにリモートでアクセスできるように、ルーターを介してローカルネットワークからSSHトンネルを作成する方法です。私はコマンドラインベースのソリューションを探していますが、ルーターのメモリが不足していてユーティリティセットが非常に制限されていることも知っています。小さなツールセットだけを備えた最小限のLinuxシステムですが、ルーティング、iptablesなどのユーティリティがあるので可能だと思います。
また、まだビジボックスシステムの知識が不足しているため、間違った部分がある場合はご指摘ください。
答え1
私はいくつかのスケッチを作りました。
SSH Tunnelコマンドを入力するマシンは次のとおりです。「あなたの所有者」。
紹介する
ローカル:
-L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
ssh -L sourcePort:forwardToHost:onPort connectToHost
意味:SSHを使用して接続connectToHost
し、すべての接続試行を転送します。地元のsourcePort
onPort
ポートにアクセスできるforwardToHost
名前のコンピュータポートに接続します。connectToHost
孤立:
-R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.
ssh -R sourcePort:forwardToHost:onPort connectToHost
意味:SSHを使用して接続connectToHost
し、すべての接続試行を転送します。離れてsourcePort
onPort
forwardToHost
ローカルコンピュータからアクセスできるコンピュータのポートに接続します。
あなたの模範
Linuxを実行している家庭用コンピュータ
これは私のスケッチの3番目の写真です。自宅のコンピュータでLinuxを実行しますか?インターネットにsshがあるリモートホストがあり、次を使用して自宅のコンピュータから簡単にアクセスできます。
ssh remotehost
これは間違いなくSSHがインストールされ、トンネルを作成するためにルータを必要としません。コンピュータで次のコマンドを使用します(青いボックスはyourhost
家庭用コンピュータを表します)。
ssh -R 11111:localhost:22 remotehost
これで、リモートホストにあり、SSH経由で自宅のコンピュータに接続するには、次のコマンドを使用します。
ssh -p 11111 homeuser@localhost
11111
これにより、リモートホストの緑色ポートへのSSH接続が開始されます。この接続はSSHトンネルを介して(ビジボックスルーターを介して)転送され、22
家庭用コンピュータのローカルホスト(家庭用コンピュータ自体など)のピンクのポートに接続されます。
もちろん、ビジボックスはトンネルを設定することもできます。
これは私のスケッチの4番目のイメージです。今、あなたはbusyboxに座っているかログインしています。yourhost
ビジボックスルーターも同様です。
ssh -R 11111:nearhost:22 remotehost
これで、リモートホストにいるときに再入力してください。
ssh -p 11111 busyboxuser@localhost
緑色のポートに接続し、トンネルを介して11111
busyboxに転送し、そこから22
近くのホスト(家庭用コンピュータを表す)のピンク色のポートに接続します。
答え2
ssh -L
これがあなたが探しているものです。
A、B、X、Yの合計4つのホストの写真を描きましょう。
- Aは、一般的なクライアント(Webブラウザなど)を搭載したコンピュータです。
- BはSSHをサポートする最も近いローカルコンピュータであり、Aと同じです。
- XはSSHをサポートするリモートコンピュータです。
- Yは、Aでアクセスしたいサービス(Webサーバーなど)をホストするコンピュータです。 YはXと同じホストにすることができます。
Bの場合:
ssh -Nn -L 8080:Y:80 username@X
これでトンネルが確立されます。
B:8080 <--- encrypted over ssh ---> X < ---- unencrypted ----> Y:80
その後、AはB:8080に接続し、Y:80を見ることができます。
A <--- unencrypted ---> B:8080 <--- encrypted over ssh ---> X < ---- unencrypted ----> Y:80
AがSSHサーバーと同じシステムの場合は、localhost:80に接続します。