LinuCレベル1 Linuxのインストールと仮想マシン・コンテナの利用 問32
Linuxのインストールと仮想マシン・コンテナの利用/インストール、起動、接続、切断と停止sshコマンドで初めて接続したサーバーについて、利用者が確認して受け入れたホスト鍵を記録し、次回以降の接続時にサーバーが本物かどうかを照合するために使われるクライアント側のファイルはどれか。
当サイトのオリジナル問題(LinuCレベル1の出題範囲「Linuxのインストールと仮想マシン・コンテナの利用」に対応。実際の試験問題ではありません)
- A~/.ssh/authorized_keys
- B~/.ssh/id_rsa.pub
- C~/.ssh/known_hosts
- D~/.ssh/config
正解:C
解説
sshクライアントは、初めて接続したサーバーのホスト鍵のフィンガープリントを表示して確認を求め、受け入れると ~/.ssh/known_hosts に記録します。次回以降の接続では、サーバーが提示したホスト鍵をこのファイルの記録と照合し、一致しなければ警告を出して接続を中止します。これにより、接続先のなりすまし(中間者攻撃)に気付けます。サーバーを再構築してホスト鍵が正当に変わった場合は、ssh-keygen -R ホスト名 で古い記録を削除してから接続し直します。
選択肢ごとの解説
- A誤り。~/.ssh/authorized_keys は接続先(サーバー)側に置くファイルで、ログインを許可する利用者の公開鍵を登録します。サーバーのホスト鍵を記録するファイルではありません。
- B誤り。~/.ssh/id_rsa.pub は利用者自身の公開鍵で、ssh-keygenで作成した鍵ペアの片方です。接続先サーバーのホスト鍵を記録するものではありません。
- C正しい。初回接続時に受け入れたサーバーのホスト鍵が記録され、以後の接続で照合に使われます。
- D誤り。~/.ssh/config は、接続先ごとのユーザー名・ポート番号・使用する鍵などのクライアント設定を書くファイルで、ホスト鍵の記録には使いません。