/home/XXX/.ssh/known_hosts
SSHについての深い理解がなく、(または~/.ssh/known_hosts
)とファイル/etc/ssh/ssh_known_hosts
の関係について少し混乱しています。
誰かがこれを説明できますか?
答え1
known_hosts
ホームディレクトリのファイルは、sshが各新しいサーバーのIDを自動的に保存する場所です。あなた入場。known_hosts
もちろん、他のユーザーも自分のファイルを持っています。
のファイルは/etc
手動でのみ書き込むことができ、システム内のすべてのユーザーが共有することを除いて同じです。
このファイルの一般的な用途/etc
は、システム管理者が組織内のすべてのサーバーのIDを入力することです。これにより、各ユーザーがローカルリソースに初めてアクセスするときに「はい」と答える必要がなくなり、さらに重要なのはセキュリティが向上することです。
このファイルの目的は、known_hosts
最後に接続したのと同じサーバーに接続されていることを確認して中間者攻撃を防ぐことです(DNSハッカーなどが密かに交換したわけではありません)。弱点は、known_hosts
以下の場合、中間子を検出できないことです。最初あなたは接続します。/etc
管理者は、既知の良い署名でファイルを事前に入力して、ユーザーが垣間見ることから安全にすることができます。
答え2
~/.ssh/known_hosts
既知のホストキーのシステム全体のリストにはまだ含まれていませんが、ユーザーがログインしているすべてのホストのホストキーのリストが含まれています。このファイル形式の詳細については、sshd(8)を参照してください。
...
/etc/ssh/ssh_known_hosts
既知のホストキーのシステム全体のリストです。このファイルには、組織内のすべてのコンピュータの公開ホストキーを含めるようにシステム管理者が準備する必要があります。世界中で読むことができるはずです。このファイル形式の詳細については、sshd(8)を参照してください。
答え3
/etc/ssh/ssh_known_hosts
ファイルには、 $HOME/.ssh/known_hosts
すべての既知のホストのホスト公開鍵が含まれています。グローバルファイルは管理者がオプションで準備する必要があり、ユーザー固有のファイルは自動的に維持されます。ユーザーが未知のホストに接続するたびに、そのユーザーのキーがユーザー固有のファイルに追加されます。