known_hostsファイルは、SSH経由で実際にホストに接続するたびにsshによって使用されます。サーバー用のある種の署名付きキーを格納します。そして、それが変化すれば、あなたは知っているでしょう。
ssh-keygen -t rsa -C yourgithub@accountemail.com
id_rsa.pub
githubに渡すSSHキーを生成するために使用されます。次に、githubに接続するとid_rsa
、~/.ssh
フォルダーに秘密鍵があり、これを使用してgithubで情報を検証します。
これは非常に低レベルの説明ですが、秘密鍵(.pub以外)ファイルがあなたの終わりであり、.pubはgithub用であり、known_hostsはボックスが何であるかを知るためのものです。
どのキーがどのホストに送られるかを指定するために使用するconfig
ファイルを生成することもできます。~/.ssh
authorized_keysとknown_hostsは完全に異なります。
SSHサーバー(sshd、つまり)は、authorized_keys、または/etc/ssh/sshd_config/
別のキーの公開側を知るために内部で定義されているファイルを使用します。したがって、ユーザーがサーバーに接続すると、ユーザーは秘密鍵を渡し、SSHサーバーはauthorized_keys内にある公開鍵と照合し、一致しない場合は機能しません。
Githubはauthorized_keys
、ユーザーに対していわば話すことを維持しています。公開鍵はアカウントのauthorized_keysに入り、ssh経由でclone、pushなどに接続すると、送信した秘密鍵と、既に知っている公開鍵がチェックされます。