助け合いフォーラム

LPIC

LPIC Lv2-202(Ver4.5)
問題ID : 9464
問題を開く
SSHポートフォワーディングを使って、ローカルのポート3306に接続するとSSHサーバ(アドレス:ssh-server)内のデータベースサービス(ポート番号:3306)に接続するようにトンネルを用意したい。正しいコマンドはどれか。

この問題はプレミアムコンテンツです。

上に戻る

正解の書式について

投稿日 2023/12/08

選択肢のうち、
「ssh -L 3306:localhost:3306 user@ssh-server」
が正解というのは理解できるのですが、
「ssh -L 3306:ssh-server:3306 user@ssh-server」
でも正解ではないのでしょうか?

ホスト「ssh-server」ではSSHサーバー機能とデータベースサービス機能(ポート3306)を提供しているのだと解釈しましたが、SSHサーバーから見た接続先を指定するにあたって、「localhost」でも「ssh-server」でも問題ないのではと思いました。
解説で、書式が間違っているとされている理由がイマイチわかりません。

2023/12/10 12:02

ssh-serverが「外部にデータベースサービス機能を公開」しているかどうかで正解になるかもしれませんが、設問では「SSHサーバ(アドレス:ssh-server)内のデータベースサービス(ポート番号:3306)」とあるので、localhost:3306と判断するのが確実かなと思います。
例えばWebアプリケーションの作り方にもよりますけど、小規模で1台にHTTPサーバとDB機能が同梱されてる時なんかは「HTTPサーバだけが外部公開されており、DBはlocalhost(サーバ内部)からのみ接続を受け付ける」と言う場合だと、「ssh-server」でアクセスすると接続拒否されることがあり得ますね。


コメント

P Pnt839_249

2023/12/12 16:24

なるほど。例えば、のケースであれば確かに「ssh-server」ではDBサービスが接続を受け付けていないのだからポートフォワーディングでも接続できませんね。 ちょっと問題文が言葉足らずな気がしますが、納得できました。 ありがとうございます。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?