助け合いフォーラム

LinuC

LinuC Lv1-102(Ver10.0)
問題ID : 15869
問題を開く
リモートホストからサーバにSSH接続できるように、サーバ上で以下のコマンドを使用して公開鍵認証用の鍵ペアを作成した。SSH接続するホスト(クライアント)に安全に持ち運ぶべきファイルはどれか。 $ ssh-keygen -t ecdsa

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

上に戻る

クライアントに渡す秘密鍵に関して

投稿日 2026/02/20

ping-t内で「SSHに関する主なファイル」として下記の表がありました。
この表の内容を前提に質問です。
ーーーーーーーーーーーーーーーーーーーー
            SSHクライアント   SSHサーバ (sshd)
設定ファイル      /etc/ssh/ssh_config   /etc/ssh/sshd_config
秘密鍵         ~/.ssh/id_rsa      /etc/ssh/ssh_host_rsa_key
公開鍵         ~/.ssh/id_rsa.pub    /etc/ssh/ssh_host_rsa_key.pub
認証鍵リスト      ~/.ssh/known_hosts   /.ssh/authorized_keys
ーーーーーーーーーーーーーーーーーーーー
<質問>
今回の問題は「サーバ上でssh-keygenをして、作成したサーバの秘密鍵をクライアントに送る」と認識しているので、
そもそもクライアントに送るファイルとしては、サーバ上にある秘密鍵である「/etc/ssh/ssh_host_rsa_key」をクライアントに送るのではないのでしょうか?「/etc/ssh/ssh_host_rsa_key」をクライアントに送って、それをクライアント上の「/.ssh/id_rsa」に格納するのではないのでしょうか?今回の設問だと、「~/.ssh/id_ecdsa」を送るのではなく「/etc/ssh/ssh_host_ecdsa_key」を送ると思いました。

ssh-keygenでホスト認証用の鍵かユーザ認証用の鍵かを指定するオプションは無く、サーバとクライアントどちらでコマンドを打ったかで、鍵が格納されるディレクトリが変わると思っているのですが、認識合ってますでしょうか?

以上、よろしくお願いいたします。

2026/02/22 14:08

今回の問題は「サーバ上でssh-keygenをして、作成したサーバの秘密鍵をクライアントに送る」と認識しているので、

ここがちょっと違うんじゃないかなと思います。

まず、設問の通りにコマンドを打つと、「サーバの秘密鍵」ではなくユーザーの鍵を生成するようになるんですよね。

$ ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_ecdsa):

この時点で、「サーバの秘密鍵」を生成しようという意図ではないと読めます。また、ホスト鍵はそもそも自動で生成されますし、手動で作成する場合でも -A を指定するかと思いますので、今回のコマンドラインでは「ホスト鍵」と判断すべき理由はないかと思います。

https://man7.org/linux/man-pages/man1/ssh-keygen.1.html

  -A      **Generate host keys** of all default key types (rsa, ecdsa,
          and ed25519) if they do not already exist.  The host keys
          are generated with the default key file path, an empty
          passphrase, default bits for the key type, and default
          comment.  If -f has also been specified, its argument is
          used as a prefix to the default path for the resulting
          host key files.  This is used by /etc/rc to generate new
          host keys.

何より、「サーバの秘密鍵」をクライアントに送る理由はありません。参考の「ホスト認証」の部分を再度ご確認いただくのが良いかなと思います。


コメント

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

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