LinuCレベル1 セキュリティ 問39
セキュリティ/暗号化によるデータの保護社内ネットワークにあるサーバーinnerには、外部から直接SSH接続できない。一方、innerから外部の中継サーバーrelayへはSSH接続できる。innerで次のいずれかを実行して接続を張ったままにしておき、relay上で「ssh -p 10022 localhost」を実行するとinnerのSSHサーバーにつながるようにしたい。innerで実行するコマンドとして適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル1の出題範囲「セキュリティ」に対応。実際の試験問題ではありません)
- Assh -L 10022:localhost:22 user@relay
- Bssh -D 10022 user@relay
- Cssh -L 22:localhost:10022 user@relay
- Dssh -R 10022:localhost:22 user@relay
正解:D
解説
sshの-Rオプションはリモートポート転送で、「-R 接続を受けるポート:転送先ホスト:転送先ポート」の形で指定します。接続先(relay)側で10022番ポートが待ち受け状態になり、そこへの接続はSSHのトンネルを通って、ssh を実行した側(inner)から見たlocalhostの22番へ転送されます。-Lのローカルポート転送とは、待ち受ける側と転送先の向きが逆になります。relay側の転送ポートは既定ではループバックアドレスでだけ待ち受け、外部のホストからも使わせるかどうかはrelayのsshd_configのGatewayPortsで制御されます。
選択肢ごとの解説
- A誤り。-Lはローカルポート転送で、inner側の10022番への接続がrelayから見たlocalhostの22番へ転送されます。relay上の10022番は待ち受け状態になりません。
- B誤り。-Dは動的ポート転送で、inner側の10022番でSOCKSプロキシが動きます。relay上からinnerのSSHサーバーへつなぐ用途には使えません。
- C誤り。inner側の22番で待ち受けようとする指定です。22番は特権ポートで、通常はinnerのsshdが使用中のため待ち受けできず、relay上の10022番も使えるようになりません。
- D正しい。-Rでrelay側の10022番が待ち受け、そこへの接続がinnerから見たlocalhostの22番へ転送されます。