SSH公開鍵ファイルの最後のユーザー/ホストはどのような意味を持ちますか?


73

によって生成されたSSH公開鍵ファイルにssh-keygenは、最後にユーザーとホストがいるのはなぜかわかりません。

例:id_rsa.pub

ssh-rsa ... rest of file ... /CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain

root@mydomainファイルの最後に注目してください。

秘密鍵を使用して認証するために任意のユーザーの任意の場所で公開鍵を使用できる場合、root @ mydomainは認証プロセスにどのような重要性を持ちますか?

それとも、誰が発行したのかを把握するための単なるプレースホルダーですか?


2
コメントフィールドに@記号が含まれる必要のある熱心なWebフォームを見てきましたが、技術的な理由はありません。

回答:


106

このフィールドはコメントであり、自由に変更または無視できます。user@hostデフォルトでに設定されていますssh-keygen


1
簡潔かつ要点。でコメントを変更できると、パズルが解決します。ssh認証プロセスに何らかの役割があると思いました。
バジルA

2
@BasilA完全に削除したキーがいくつかあります。
マイケルハンプトン

3
Google Cloud Compute上のインスタンスへのSSHキーログインをセットアップする際、GCCはこのコメントフィールドを使用して、キーが関連付けられるインスタンス上のユーザー名を識別します。
hBy2Py

53

これはsshd(8)、許可されたキーに関するセクションのマニュアルページで簡単に説明されています。

プロトコル2の公開キーは、optionskeytypebase64エンコードキー...で構成されますcomment

openssh認証キーの状況、コメントの唯一の意味があります。しかし、この部分に意味を与えるSSH実装があります。たとえば、LANCOMモデムのSSH実装では、このコメントをキーが有効なユーザー名として使用します。


6
男を引用して+1
mgarciaisaia

17

他の人が指摘したように、それはどのキーがどのキーであるを特定できるコメントです

たとえば、単一のキーを見るとid_rsa.pub大きな違いはありませんが、authorized_keysファイルにあるものなど、潜在的に長いキーのリストを見るとき、どのキーを簡単に識別できるかは非常に役立ちますどちらですか。

また、ssh-keygenのデフォルトはですuser@hostname。これは、一般的なユースケースでは、どのキーであるか(明確ではuser@domainない)の明確な識別子です。


5

とても簡単です。私とあなたは機械を使っている人間です。あなたが投稿したこの例を見て:

ssh-rsa [piles of gobbledygook]…CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain

マシンはこれを読むことができます:

ssh-rsa [piles of gobbledygook]…CA9gyE8HRhNMG6ZDwyhPBbDfX

人間はこのコメントを読むことができます:

root@mydomain

人々は物事が可能性があるにもかかわらず、ことを忘れがちになり、コンピュータシステム上で複雑な、彼らは実際に可能性がトンコードを設計した場合には、より複雑なだけのマシンの消費のために。あいまいなマルウェアコードを見てください。デコードしてフォーマットすると、人間が読むことができます。しかし、人間が読むのを難しくするために、誰かが邪魔をしなければなりませんでした。

既定では、コンピューターシステム上のすべての種類のコーディングファイルと構成ファイルは、人間が消費するための構造です。私たちは機械を使用する人間であり、機械は次のようなものを必要としません。

  • コメント。
  • くぼみ。
  • 人間が読める言語で書かれた変数と関数。

だから、コメントはあなたと私と他の誰にも向けられていない。ほとんどコメントなしで動作します。しかし、午前3時に何かが機能せず、正しい公開鍵を探しているときは、コメントがそこにあることを望み/夢/祈ります。


7
「マシンには...インデントのようなものは必要ありません」 Python
CVn

1
@MichaelKjörling「...彼らが気にかけられない限り」:-)
hBy2Py
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.