SSH 公钥注释分隔符

noz*_*ica 6 security ssh key-authentication

ssh-keygen在两台不同的服务器中创建了一个 SSH 身份验证密钥(带有),都带有有用的注释,但是一台服务器==的公钥介于密钥和注释之间,而另一台服务器根本没有分隔符。

这是正确的吗?

小智 9

您的 SSH 密钥以 Base 64 编码。这种格式通常用于密码学(及其他)以 ASCII 格式存储二进制信息。

而且,在 base64 中,'=' 符号是一个填充字符,具有非常具体的含义:

“==”序列表示最后一组仅包含 1 个字节,“=”表示它包含 2 个字节。下面的例子说明了截断整个上述引用的输入如何改变输出填充

来源:http : //en.wikipedia.org/wiki/Base64#Padding

实际上,键和注释之间没有分隔符。SSH 知道公钥由三部分组成:

<key-type>[space]<public-key>[space]<comment>
Run Code Online (Sandbox Code Playgroud)

公钥末尾的空格是键和注释之间的分隔符。您看到的等号“=”仅表示公钥末尾的填充。