助け合いフォーラム
この問題はプレミアムコンテンツです。
SSHにおけるユーザ認証の秘密鍵はクライアントで作成するべきですよね
タイトルの通りですが以下問題文の
「リモートホストからサーバにSSH接続できるように、サーバ上で以下のコマンドを使用して公開鍵認証用の鍵ペアを作成した。SSH接続するホスト(クライアント)に安全に持ち運ぶべきファイルはどれか。」
の解答はセキュリティの観点から
「鍵ペアはSSHクライアント上で作成しなければならない」
でなければならないと思うのですが有識者の方はどのように考えますか?
上の選択肢が間違っている理由について以下のように解説しているのも、設計上可能なのはわかりますがやはりセキュリティの観点でよくないのではと感じます。
「・鍵ペアはSSHクライアント上で作成しなければならない
鍵ペアの作成はSSHクライアントとSSHサーバのどちらで行っても構いません。SSH接続するユーザが鍵ペアを作成し、クライアントとサーバにそれぞれ必要な鍵を配置しておきます」
セキュリティの観点から
「鍵ペアはSSHクライアント上で作成しなければならない」
でなければならないと思う
この理由を教えていただくことは可能でしょうか?問題文でも
サーバ上で以下のコマンドを使用して公開鍵認証用の鍵ペアを作成した。SSH接続するホスト(クライアント)に安全に持ち運ぶべきファイルは
と条件がついていることから
- クライアントへ安全に持ち運ぶ=利用環境が特定でき、誤った宛先に渡されないことが保証できる
- 鍵ペアはサーバ上で作成しているので、意図しない鍵を「サーバが」受け入れることはあり得ない
と言えるので、この状況において「セキュリティの観点からクライアント上で作成しなければならない」でなければならない理由が思い浮かばないです。
コメント
arashi1977様
ご回答ありがとうございます。
ご指摘いただき改めて考えてみたら、セキュリティ上の問題は全くないように思いました。
クライアント以外のコンピューターが秘密鍵を持ってることに強い違和感を感じていたのですが、冷静に考えて認証(安全を実現)したいのはサーバー側なので鍵ペアをクライアントで作成するべき理由は全くなかったと思いました。
思考が固くなっていたようです。改めて感謝します。
コメント
この投稿に対して返信しませんか?
e echigoya7
2025/10/23 00:59
arashi1977様 ご回答ありがとうございます。 ご指摘いただき改めて考えてみたら、セキュリティ上の問題は全くないように思いました。 クライアント以外のコンピューターが秘密鍵を持ってることに強い違和感を感じていたのですが、冷静に考えて認証(安全を実現)したいのはサーバー側なので鍵ペアをクライアントで作成するべき理由は全くなかったと思いました。 思考が固くなっていたようです。改めて感謝します。 (返信する場所が間違っていたようで再送になります。)