2つの異なるサーバーでSSH認証キー(with)を作成しました。ssh-keygen
どちらにも便利な説明がありますが、あるサーバーの公開鍵はキーと説明の間にあり、==
もう一方のサーバーの公開鍵はキーと説明の間にあります。すべて。
これは正しいですか?
答え1
SSHキーはBase 64でエンコードされています。この形式は、バイナリ情報をASCII形式で保存するために暗号化(およびその他のフィールド)で一般的に使用されます。
さらに、base64では、「=」記号は非常に具体的な意味を持つパディング文字です。
'=='シーケンスは最後のグループに1バイトしか含まれていないことを意味し、 '='は2バイトが含まれることを意味します。次の例は、上記で参照した入力全体を切り捨てると、出力パディングがどのように変更されるかを示しています。
源泉:http://en.wikipedia.org/wiki/Base64#Padding
実際、キーとコメントの間に区切り文字はありません。 SSHは、公開鍵が3つの部分で構成されていることを知っています。
<key-type>[space]<public-key>[space]<comment>
公開鍵の末尾にあるスペースは、鍵とコメントの間の区切り記号です。表示される等号「=」は、公開鍵の末尾にあるパディングのみを示します。