その前に、ssh(sshスイート)を何に使っていますか?ってところから整理しよう。
主に以下の3点じゃないだろうか?
- LinuxやUnixへのリモートログイン
(sloginコマンド) - 暗号化された通信を用いたファイル転送
(scp/sftpコマンド) - 暗号化された通信を用いたリモートコマンド実行
(sshコマンド)
あれ?タイトルには「sshトンネル」って書いてあるよ?
そう。sshトンネルってのは別称で、正しくはsshポートフォワーディングだ。
そして、sshポートフォワーディングには、
- ローカルポートフォワーディング
- リモートポートフォワーディング
の2種類がある。
それぞれ、ざっくりと図解すると、以下のようになる。
ローカルポートフォワーディング |
リモートポートフォワーディング |
ローカルポートフォワーディングの方は、自分自身の端末(PC)へのアクセスを、遠隔のサーバに転送する仕組みだ。
リモートポートフォワーディングはその逆。
上記図では、自分とssh接続先だけの関係だが、ちょっと手を加えると以下の様なことも可能になる。
ローカルポートフォワーディング例 |
リモートポートフォワーディング例 |
この図の通り、2台の機器の間でssh通信を確立しておくことで、別の機器からの通信も出来るようになる。
(但し、通常はセキュリティを考慮して、別の機器からの通信は出来ないようにしますが…)
これには幾つか制約があって、何でもかんでも転送出来るわけではない。
ざっと…
- 転送可能なのはTCPのみ
- サーバ側ポートが変動したり、逆方向接続が発生するものはNG(ftpとか)
だ。
つまり、TCPで固定ポートを用いる通信であれば、転送させることが可能になる。
この機能を使えば、自宅内のWindowsPCに、屋外からリモートデスクトップ接続出来るようになる、というのが今回の趣旨。(やっと目的の話に…)
ちょっと長くなったので、ココで一旦分離。
0 件のコメント:
コメントを投稿