ssh authorized_keys2 文件的正确格式

ssh authorized_keys2 文件的正确格式

sshd 手册页让我和其他管理系统的人感到困惑。

在“AUTHORIZED_KEYS FILE FORMAT”下有以下声明:

选项字段是可选的;它的存在取决于该行是否以数字*开头。

在什么情况下一行会以数字开头?也许手册页混淆了协议 1 和协议 2 的信息。

稍后我们将给出一个示例 authorized_keys 文件,我认为它是 Protocol 2 样式,因为它有一个 keytype 查找字段。但它是多行的,在 key 后面的行上有选项。

环顾四周,我发现单行和多行格式都有使用。我怀疑多行格式无效。

这是正确的吗,或者是否有一些版本允许这样做。

答案1

在什么情况下一行会以数字开头?也许手册页混淆了协议 1 和协议 2 的信息。

SSHv1 协议的公钥未经过 base64 编码,因此以数字开头。2附录authorized_keys2并不意味着 SSHv2 密钥,而只是包含密钥的第二个文件。这两个文件的语义相同,并且可以(在删除 SSHv1 代码后不再如此)混合包含 SSHv1 和 SSHv2 密钥。

当前版本的手册页不再有这句话:

公钥由以下以空格分隔的字段组成:选项、密钥类型、base64 编码的密钥、注释。 选项字段是可选的。 密钥类型为“ecdsa-sha2-nistp256”、“ecdsa-sha2-nistp384”、“ecdsa-sha2-nistp521”、“ssh-ed25519”、“ssh-dss”或“ssh-rsa”;注释字段不用于任何用途(但可能方便用户识别密钥)。

公钥的预期格式也如上所述(可能不在您的旧版本中)。

相关内容