sshのポート転送をローカルホスト以外からもアクセス可能にする
 2007.07.15

Linuxのsshコマンドでポートフォワードした作成したコネクションをsshを実行するマシン以外から使うには….
lc01% ssh -C -L 2100:intrasv.example.org:80 remote.example.org
LAN内にあるlc01というLinuxホストから,上記のようにsshでポート転送した場合,lc01の2100番ポートはremote.example.orgを経由してintrasv.example.orgの80番ポートに繋がっている. しかし,lc01:2100 にアクセスできるのはlc01だけである.lc01と同じLAN内の他のホストはlc01:2100をintrasv.example.org:80 としてアクセスする事はできない.
lc01% ssh -C -L 2100:intrasv.example.org:80 -g remote.example.org
そこでsshの「-g」オプションを付けると lc01:2100にlc01以外からもアクセスできる.sshによる仮想トンネルの入り口を開放するイメージ. 「-g」オプションで開放した入口に接続できるホストを制限する方法はssh自体には無いようだ.したがって,信頼できるネットワーク内だけで使う.あるいは,iptables等の別の手段でアクセス制御を行う必要がある.
カテゴリー:サーバ管理