ssh 公钥格式

原创
2016/06/15 15:18
阅读数 3.2K

一、ssh 公钥格式

ssh 公钥主要有两种格式

PEM 公钥格式

PEM 公钥格式也被称为 SECSH 公钥格式

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "2048-bit RSA, converted by test@test from OpenSSH"
AAAAB3NzaC1yc2EAAAADAQABAAABAQDSOrtrbBkeU4eyeL3uP+2jOYHDmI65krQiwGe8U3
a3l+tw9SlVWl/i9CJvMbEYuHAj7p/T4aaEfiayeuSIFCjaPSSCTsYwuNOU8VEDsGnldzeh
2PObtp2aJiFJmX9CTbeLdjcIAbXNGYVveINqfr0s7PFY+ZNtyQePSQVrQrkKnyzT2ccm1t
E3zDdyNVqRMGRbgD7O+cPOMVcM8C54TXW4QIjWm8us1fNPtm9bCHF6+0Ql8KIoFoCu7ZHr
9g0bpiNSeHGPKaujhanmTxoGYmyHXyFaA5y3o5vPbtiIAytBafVhPuyA9P25ICKREEYEQ+
2rdMzevJrm4LUXJXekwLvr
---- END SSH2 PUBLIC KEY ----

以 BEGIN 行开始,以 END 行结束

ssh 格式

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSOrtrbBkeU4eyeL3uP+2jOYHDmI65krQiwGe8U3a3l+tw9SlVWl/i9CJvMbEYuHAj7p/T4aaEfiayeuSIFCjaPSSCTsYwuNOU8VEDsGnldzeh2PObtp2aJiFJmX9CTbeLdjcIAbXNGYVveINqfr0s7PFY+ZNtyQePSQVrQrkKnyzT2ccm1tE3zDdyNVqRMGRbgD7O+cPOMVcM8C54TXW4QIjWm8us1fNPtm9bCHF6+0Ql8KIoFoCu7ZHr9g0bpiNSeHGPKaujhanmTxoGYmyHXyFaA5y3o5vPbtiIAytBafVhPuyA9P25ICKREEYEQ+2rdMzevJrm4LUXJXekwLvr test@test

一般分为三部分:密钥类型、base64编码后的密钥、注释(可选)。中间用空格分开。

二、生成 key

1. 生成 key

ssh-keygen -t rsa

2. 转换为 PEM 格式

ssh-keygen -e -f id_rsa.pub > pem.pub

-f filename 指定公钥文件

-e 读取 OpenSSH key 文件并将内容打印到标准输出,默认使用 RFC4716 中的格式,也就是 PEM 格式

3. 计算公钥指纹

ssh-keygen -l -f id_rsa.pub 

2048 SHA256:eZxOEDBNunlhMjpeQ0VCNyL6AxHtmnrGRkCN01aCY84 test@test (RSA)

4. 从私钥文件生成公钥文件

ssh-keygen -y -f id_rsa
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSOrtrbBkeU4eyeL3uP+2jOYHDmI65krQiwGe8U3a3l+tw9SlVWl/i9CJvMbEYuHAj7p/T4aaEfiayeuSIFCjaPSSCTsYwuNOU8VEDsGnldzeh2PObtp2aJiFJmX9CTbeLdjcIAbXNGYVveINqfr0s7PFY+ZNtyQePSQVrQrkKnyzT2ccm1tE3zDdyNVqRMGRbgD7O+cPOMVcM8C54TXW4QIjWm8us1fNPtm9bCHF6+0Ql8KIoFoCu7ZHr9g0bpiNSeHGPKaujhanmTxoGYmyHXyFaA5y3o5vPbtiIAytBafVhPuyA9P25ICKREEYEQ+2rdMzevJrm4LUXJXekwLvr

-f filename 指定公钥文件

-y 读取 OpenSSH 私钥文件生成公钥并打印到标准输出

参考资料

RFC4716

ssh-key 公钥文件格式

在 Linux CLI 使用 ssh-keygen 生成 RSA 密钥

EFT Server and SSH Key Formats

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部