ssh-keygen
によって生成されたSSH公開鍵ファイルの最後にユーザーとホストがある理由がわかりません。
例:id_rsa.pub
ssh-rsa ... rest of file ... /CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain
ファイルの最後のroot@mydomain
に注意してください。
ユーザーのどこでも公開鍵を使用して秘密鍵を使用して認証できる場合、root @ mydomainは認証プロセスにどのような意味がありますか?
それとも、それが誰によって発行されたかを理解するための単なるプレースホルダーですか?
このフィールドはコメントであり、自由に変更または無視できます。デフォルトでは_user@Host
_によって_ssh-keygen
_に設定されています。
OpenSSH sshd(8)
manページ は、公開鍵の形式を次のように説明しています。
公開鍵は、スペースで区切られた次のフィールドで構成されています:オプション、keytype、base64でエンコードされた鍵、コメント。 。 。 。コメントフィールドは何にも使用されません(ただし、ユーザーがキーを識別するのに便利な場合があります)。
ssh-keygen(1)
manページ はこう言っています:
キーのコメントは、キーの識別に役立つ場合があります。コメントはキーの作成時に「user @ Host」に初期化されますが、-cオプションを使用して変更できます。
これは、承認済みキーに関するセクションの sshd(8)
のマニュアルページで簡単に説明されています。
プロトコル2の公開鍵は、options、keytype、で構成されていますbase64でエンコードされたキー、
comment
。
承認されたキーのopenssh
コンテキストでは、コメントの意味のみがあります。しかし、この部分に意味を与えるSSH実装があります。たとえば、LANCOMモデムでのSSH実装は、このコメントをキーが有効なユーザー名として使用しています。
他の人が指摘したように、それはyoがどのキーがどれであるかを識別できるようにするコメントです。
たとえばid_rsa.pub
で単一のキーを見ても、それほど大きな違いはありませんが、authorized_keys
ファイルにあるものなど、潜在的に長いキーのリストを見ると、どのキーがどれであるかを簡単に識別できるので非常に役立ちます。
また、ssh-keygen
のデフォルトはuser@hostname
です。これは、一般的なユースケースでは、どのキーかを示す明確な識別子です(user@domain
はそうではありません)。
とても、とてもシンプルです。私とあなたは機械を使っている人間です。投稿したこの例を見てください。
ssh-rsa [piles of gobbledygook]…CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain
マシンはこれを読み取ることができます:
ssh-rsa [piles of gobbledygook]…CA9gyE8HRhNMG6ZDwyhPBbDfX
人間はこのコメントを読むことができます:
root@mydomain
人々は物事がlookコンピュータシステムでは複雑であるとしても、実際にはtonsコードが設計されている場合はより複雑になる可能性があることを忘れがちですonly forマシンの消費。あいまいなマルウェアのコードを見てください。デコードしてフォーマットすると、人間が読める形式になります。しかし、人間が読みにくくするために、誰かが邪魔をする必要がありました。
デフォルトではallコンピュータシステムのコーディングおよび構成ファイルのタイプは、人間が使用するための構造です。なぜなら、私たちは機械を使用している人間であり、機械は次のようなものを必要としないからです。
だからコメントはあなたと私と他の誰ものためのものではありません。ほとんどの場合、コメントなしで機能します。しかし、午前3時に何かが機能せず、適切な公開鍵を探しているときに、コメントがあることを願い、夢を見て、祈ります。