私はOpenSSHを楽しんでいます。/etc/ssh
ディレクトリはsshデーモン用であり、~/.ssh
ディレクトリは特定のユーザー用であることがわかっています。
どちらのディレクトリにも秘密鍵と公開鍵が含まれています。
しかし、これらのキーの違いは何ですか?ユーザーとして使用しているものがホームディレクトリにあるため、混乱しています。/etc/ssh
にあるキーの役割は何ですか?
/etc/ssh
は、システムの構成を提供します。ユーザーのデフォルト構成(/etc/ssh/ssh_config
)、およびデーモンの構成(/etc/ssh/sshd_config
)です。 /etc/ssh
内のさまざまなホストファイルはデーモンによって使用されます。これらのファイルには、サーバーを識別するために使用されるホストキーが含まれています。キーペアによっても識別されます。サーバーは通常、RSA、ECDSA、Ed25519などの複数のタイプのキーを提供するため、複数のキーペアが使用されます。 (ユーザーは複数のキーを持つこともできます。)
さまざまなキーファイルは次のように使用されます。
~/.ssh/known_hosts
に格納され、サーバーのキーが変更されると、SSHはそれについて不満を述べ、特定の機能を無効にして中間者攻撃を軽減します。~/.ssh/authorized_keys
に)保存されます。直接使用されることはありません。最後の部分はそれほど頻繁には使用されません。デフォルトのSSHモデルは「TOFU」(最初の使用時に信頼)として知られています。デフォルトでは、接続は初めて使用されるときに信頼され、SSHは予期しない変更のみを考慮します。ただし、最初の接続を信頼できると便利な場合もあります。サーバーのオペレーターはサーバーの公開鍵を通信でき、ユーザーは最初の接続の前に既知のホストにこれらを追加できます。
詳細は ssh_config
および sshd_config
のマンページを参照してください(システム上のman ssh_config
およびman sshd_config
)。既知のホストで使用される形式は the sshd
manpage で説明されています。
/ etc/sshは、ホスト(コンピューター/オペレーティングシステム)の秘密鍵と公開鍵のペアを保持します
〜/ .sshはその所有者ユーザーの鍵ペアを保持します
対称鍵とPKIがどのように機能するかについて少し調べます。ほとんどの場合、送信者と受信者の両方が独自の秘密鍵と公開鍵のペアを必要とすることがわかります。