Ssh-keygenが秘密鍵と公開鍵の生成に使用されていることを理解しています。しかし、sshd-keygenの使用は何ですか?
マニュアルページやドキュメントが見つからないため、sshd-keygenの使用に関するドキュメントがありません。
[root@intel-chiefriver-02 ~]# whereis sshd-keygen
sshd-keygen: /usr/sbin/sshd-keygen
[root@intel-chiefriver-02 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
Fedoraの openssh-server-7.9p1-5.fc30.x86_64.rpm には/usr/libexec/openssh/sshd-keygen
があります。ホストキーを作成するスクリプトです。それに伴うsystemdサービス[email protected]
があります。
このサービスは、特定のホストキーが存在しないかどうかを確認し、ssh-keygen
を呼び出すだけのスクリプトを実行してそれらを作成します。そのため、ホストキーが存在しないか削除された場合、次回必要になったときに再生成されます。
Fedora wikiの Changes/Remove slogin and sshd-keygen のsshd-keygen
についての言及もあります。
「sshd-keygen、レガシーFedora initスクリプト」の削除(および適切なsystemdサービスへの置き換え)と「sshホストキーが使用可能であることを確認する必要があるアプリケーション/サービス」について言及しています。
あなたの実装は異なるかもしれませんが、同じ目的のためだと言っても安全だと思います。
SSHサーバー自体には、クライアントにそれ自体を識別するために使用するキーがあります。これは、中間者攻撃などを防ぐためです。また、次のようなものが表示される理由
The authenticity of Host '[foo.example.com]:22 ([10.0.2.15]:22)' can't be established.
ECDSA key fingerprint is SHA256:QOCUzNedwfepPHZ8JOn7xfGc1zQ8MmIohNCAE93jMEQ.
Are you sure you want to continue connecting (yes/no)?
Ssh/scp/sftpを使用してリモートホストに初めて接続するとき
これらのキーのサーバー上の実際のファイルは/etc/ssh
-
ssh_Host_dsa_key
ssh_Host_dsa_key.pub
ssh_Host_ecdsa_key
ssh_Host_ecdsa_key.pub
ssh_Host_ed25519_key
ssh_Host_ed25519_key.pub
ssh_Host_rsa_key
ssh_Host_rsa_key.pub