web-dev-qa-db-ja.com

sshd-keygenとssh-keygenの違い

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) 
1
smc

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-keygensshd-keygenについての言及もあります。

「sshd-keygen、レガシーFedora initスクリプト」の削除(および適切なsystemdサービスへの置き換え)と「sshホストキーが使用可能であることを確認する必要があるアプリケーション/サービス」について言及しています。

あなたの実装は異なるかもしれませんが、同じ目的のためだと言っても安全だと思います。

2
ilkkachu

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
0
ivanivan