私は2つのことをしましたが、3番目のことをしたいと思います。動的IPを持つリモートRaspberry Pi(Raspbian実行)をサーフィン用SOCKSプロキシとして使用したいと思います。ただし、このRpiはリバーストンネルを介してのみアクセスできます。
だから私は持っています:
- マイローカルデスクトップ(動的IPの背後)
- 他の国のRaspberry Pi(動的IPの背後にある)
- 固定IPを使用する専用サーバー
私はこれらのコンピュータのすべての権限を持っていますが、ローカルデスクトップとリモートRaspberry Piの前にあるルータは制御できません。
以下はうまくいきます。
ssh -D 5222 [email protected] -N [email protected]
これにより、IP aaa.bbb.ccc.dddのサーバーでサーフィンするのと同じように、FirefoxまたはChromiumを使用してサーフィンできます。 (私がしなければならないのは、ポート5222でlocalhostを使用するようにSOCKSを設定することだけです。)
次もうまくいきます。
ssh -t [email protected] "ssh rspi@localhost -p 32402"
Raspberry Piはautossh
常に静的IPを使用してサーバーのリバーストンネルを設定します(この場合はポート32402にあることを知っています。ポートが変更された場合は使用しているポートを知らせるため問題ありません)。
したがって、「デュアルSSHコマンド」を使用すると、ローカルデスクトップの端末でRapsberry Piを制御し、静的IPを持つサーバーを介して送信できます。
今まではそんなに良くなった。今、私はこれらの2つがうまく動作することを知っているので、リモートRaspberry PiをSOCKSプロキシとして使用してサーフィンできるようにする魔法が何であるか疑問に思います。 (私はRaspberry PiがリバースSSHトンネルを確立するポートを常に知っていることを覚えておいてください。)
リモートRaspberry Piまたは専用サーバーで修正/構成を実行する必要がありますか、ローカルデスクトップで正しく設定する必要がありますか?
答え1
desktop$ ssh -J [email protected] -D 5222 -p 32402 rspi@localhost
まあ、それは本当に必要なすべてです。
ssh
コマンドを実行するには古すぎる場合は、上記の行を次の2つの-J
コマンドに置き換えることができます(両方の端末で、または最初のコマンドを-f -N
バックグラウンドに置くなどのオプションを使用して)。
desktop$ ssh -L 32402:localhost:32402 [email protected]
desktop$ ssh -D 5222 -p 32402 rspi@localhost
この-J
オプションは、2番目の以前の方法で最初のコマンドを実行しないショートカットです。