2016年2月3日水曜日

SSHポートフォーディングの自分的まとめ

SSHポートフォーディングのコマンドがややこしくてなかなか覚えられない.

しかし,検索してヒットするサイトは技術的なことまで詳しく解説してくれるので,リファレンスがサクッと欲しいと思っても読むのにやたらと時間がかかる.

というわけで,自分でまとめてみた.

ここでは,SSHポートフォーディングの目的を,「通信が確保されていない2つの場所(自分と目的地)間で通信を行うために(経由地)を利用する」ということに絞る.

(イメージ)
(自分)-----(経由地)-----(目的地)



パターン1.自分でジョブを走らせる.

(経由地)から(目的地)にアクセスできる場合,これがある意味で一番簡単.使いたいときに実行すればそれでアクセスが可能になる.

$ ssh (経由地のIP) -L (自分のポート番号):(目的地のIP):(目的地のポート番号)

アクセス先 -> (自分のIP):(自分のポート番号)


パターン2.経由地でジョブを走らせる(走らせておく).

(経由地)から(目的地)にアクセスできる場合で,毎回自分でジョブを走らせるのが面倒という人向け.経由地で予めジョブを走らせておけば,自分では何もすること無くアクセスが可能となる.ただし -g オプションを忘れずに.

$ ssh (目的地のIP) -L (経由地のポート番号):(目的地のIP):(目的地のポート番号) -g

アクセス先 -> (経由地のIP):(経由地のポート番号)


パターン3.目的地でジョブを走らせる(走らせておく).

(経由地)から(目的地)が見えない場合,あらかじめ(目的地)から(経由地)に向けて通信を確保しておくしかない.このときも -g オプションを忘れないよう.

$ ssh (経由地のIP) -R (経由地のポート番号):(目的地のIP):(目的地のポート番号) -g

アクセス先 -> (経由地のIP):(経由地のポート番号)


また,それぞれ適宜,-f オプションや -N オプションを付けて ssh をバックグラウンドジョブにしておくと良い.




0 件のコメント:

コメントを投稿