将 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?的主要内容,如果未能解决你的问题,请参考以下文章