我有一个公钥格式:
---- BEGIN SSH2 PUBLIC KEY ---- Comment: "somename-20060227" AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]== ---- END SSH2 PUBLIC KEY ----
通常我会看到这样的格式的键:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAqof[and so on]
我可以只复制authorized_keys文件中的第一个键,或者我必须修改它,所以它看起来像第二个? 我认为第一个是由PUTTYgen生成的,而第二个是由ssh-keygen生成的。
使用ssh-keygen -i将SSH2兼容格式转换为OpenSSH兼容格式。
从man ssh-keygen :
-i此选项将读取SSH2兼容格式的未encryption私钥(或公用)密钥文件,并将与OpenSSH兼容的私钥(或公用)密钥打印到标准输出。 ssh-keygen也读取RFC 4716 SSH公钥文件格式。 该选项允许从多个商业SSH实现中导入密钥。
您必须将公钥转换为openssh约定:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBmhLUTJiP[and so on]== somename-20060227
还要确保密钥占用一行,复制时不引入换行符。
只需以适合authorized_keys格式重写您的密钥:
keytype keybody keyname
请记住,尾随“==”是保持keylength等于所需长度的必要占位符。