首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ssh-keygen不创建RSA私钥。

ssh-keygen不创建RSA私钥。
EN

Server Fault用户
提问于 2018-11-13 23:44:57
回答 3查看 124.5K关注 0票数 145

我正试图创建一个私钥并有问题。

当我使用ssh-keygen -t rsa -b 4096 -C "your_email@example.com"时,我会得到以下格式的私钥。

代码语言:javascript
复制
-----BEGIN OPENSSH PRIVATE KEY-----
uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END OPENSSH PRIVATE KEY-----

对于我正在尝试使用的应用程序来说,这是不被接受的。

我在期待以下RSA格式的密钥。

代码语言:javascript
复制
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,25737CC2C70BFABADB1B4598BD8AB9E9

uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END RSA PRIVATE KEY-----

如何创建正确的格式?这很奇怪,因为我拥有的所有其他mac都创建了正确的格式,除了我有问题的那个。

我在一个新安装的Mojave上

EN

回答 3

Server Fault用户

回答已采纳

发布于 2018-11-27 20:10:48

我最近也遇到了同样的问题(升级到mojave 10.14.1之后),以下是解决这个问题的两个可能的解决方案。

  • 降级ssh-keygen二进制文件(您可以很容易地从任何linux/docker映像中获得旧版本)

  • 将选项-m PEM添加到ssh-keygen命令中。例如,您可以运行ssh-keygen -m PEM -t rsa -b 4096 -C "your_email@example.com"来强制ssh-keygen以PEM格式导出。

在mojave当前的ssh-keygen版本中,默认的导出格式是RFC4716 (如所提到的这里 )。

票数 145
EN

Server Fault用户

发布于 2019-01-25 04:31:11

使用ssh-keygen实用程序可以将带有OpenSSH私钥格式的新密钥转换为旧的PEM格式。

代码语言:javascript
复制
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

没有必要仅仅为了达到这一结果而降级为旧的OpenSSH。

票数 129
EN

Server Fault用户

发布于 2020-08-14 03:30:27

对上述答案进行了阐述,为公钥和私钥提供了明确的途径。

您可以直接将ssh键导出(-e)为pem格式:

为了你的公钥:

代码语言:javascript
复制
cd ~/.ssh
ssh-keygen -e -m PEM -f id_rsa > id_rsa.pub.pem

为了你的私钥:

事情有点诡计,因为ssh-keygen只允许私钥文件更改“原地”。(即它用新文件替换您的密钥文件)。

所以你可以保留你的旧档案:

考虑到我们只是在导出文件,<new pass phrase>可以与您的<old pass phrase>完全相同(除非您想同时更改pass短语)。

代码语言:javascript
复制
cd ~/.ssh
cp id_rsa id_rsa.bak
ssh-keygen -p -P "<old pass phrase>" -N "<new pass phrase>" -m PEM -f id_rsa 
cp id_rsa id_rsa.priv.pem
cp id_rsa.bak id_rsa

注意:将您的pass短语作为参数传递给cli应用程序是个坏主意。

安全方法是:

代码语言:javascript
复制
cd ~/.ssh
cp id_rsa id_rsa.bak
ssh-keygen -p  -m PEM -f id_rsa 
cp id_rsa id_rsa.priv.pem
cp id_rsa.bak id_rsa

使用此方法,将提示您输入旧的和新的pass短语。

注意:在将您的私钥文件转换为.pem后,该文件现在是明文格式,这是错误的。

票数 5
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/939909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档