ssh経由のポート転送

sshコマンドはリモートでコマンドを実行をできるが、別の使い方でTCPポートのトラフィックをもう一方へ転送することができる。
信用できないネットワークからリモートサーバ間に限ってメールやWebを暗号化する、みたいな使い道があると本に書いている。

http

$ sudo ssh -N -L81:host.example:80 user@host.example

↑は、ローカルの81ポートをhost.example:80に転送する、という意味になる。
-Lがローカルから、ということになってる。1023以下のポートのトラフィックを転送する場合はroot権限が必要。
オプション-Nはコマンドの実行はしないで転送のみを行うことを明示している。ちな-fを付けるとバックグラウンドで動く。
ローカルから http://localhost:81 にアクセスするとhost.example:80が見える。

pop

$ sudo ssh -N -L110:host.example:110 user@host.example

popは平文でやり取りするので、host.example間に限って暗号化してくれる。
ローカルでpopデーモンが動いているなら停止したほうがいいっぽい。
-Cオプションで圧縮されるようになってメールのダウンロードが早くなるとか。

smtp

送信するメールも暗号化したい場合は次のようにする。
-Lオプションは何個でもつけれるみたい。

$ sudo ssh -N -L110:host.example:110 -L25:host.example:25 user@host.example

雰囲気わかった感じがする。
http://qiita.com/mechamogera/items/b1bb9130273deb9426f5
http://www.geocities.jp/ko_tyche/linux/port.html