将 ssh-dss 密钥转换为 .pem?
Posted
技术标签:
【中文标题】将 ssh-dss 密钥转换为 .pem?【英文标题】:Convert ssh-dss key to .pem? 【发布时间】:2013-04-24 03:12:57 【问题描述】:如何将 openssh dsa 公钥转换为 .pem 格式?
有可能吗?
我用过命令
openssl dsa -in u015_test.pub -outform pem > u015_test.pem
但这是输出:
read DSA key
unable to load Private Key
23392:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:648:Expecting: ANY PRIVATE KEY
unable to load Key
这就是我的密钥的显示方式:
ssh-dss AAAAB3NzaC1kc3MAAACBAMMjZ03z7hOuGYDaPmyBvuNS+LJmhYn1bWzWP8p+1/amuRPdHj68KnRDuaf8MJB3qBZ6xsu97vUjjuRDeEyFLVjsghK9TiKBsxv2Uv+fS4o0OJzP............
【问题讨论】:
【参考方案1】:要转换 ssh 密钥,你应该使用ssh-keygen
:
ssh-keygen -e -m PEM -f u015_test.pub
或者如果你想使用 openssl 的密钥:
ssh-keygen -e -m PKCS8 -f u015_test.pub
要尝试它是否有效,请使用:
ssh-keygen -e -m PKCS8 -f u015_test.pub | openssl dsa -pubin
【讨论】:
这是输出:“读取 DSA 密钥无法加载密钥 11625:error:0906D06C:PEM 例程:PEM_read_bio:no start line:pem_lib.c:647:Expecting: PUBLIC KEY” 能否请您发布密钥的外观?我不太确定你有什么样的钥匙。 奇怪,我不知道为什么这不起作用。你从哪里得到这个错误?导出时,或尝试将其与 openssl 一起使用时?以上是关于将 ssh-dss 密钥转换为 .pem?的主要内容,如果未能解决你的问题,请参考以下文章
sh 将密钥从二进制(由生成密钥生成)转换为pem格式。适用于私钥和公钥
将 PEM RSA 密钥转换为 C# RSACryptoServiceProvider.FromXmlString 的 xml