encryption - 将单行RSA私钥SSH key 转换为多行

标签 encryption ssh openssl rsa

我有这些私钥已转换为单行等效项。

这些键很多。

因此,我决定花一些时间来编写要转换的脚本。

这并没有产生太大的作用。

-----BEGIN RSA PRIVATE KEY----pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4= pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4= pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4= pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4= pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4= -----END RSA PRIVATE KEY-----

我正在使用echo ~/.ssh/id_rsa | tr " " "\n"
这将返回:
-----BEGIN 
RSA 
PRIVATE 
KEY----- 
pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=
pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=
pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=
pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=
pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=pEdInVAbH4d0PH4=
-----END
RSA
PRIVATE
KEY-----


我一直在尝试找出将其恢复为正确格式的最佳方法。

最佳答案

假设刚刚删除了换行符的标准RSA私钥,则使用sed进行了两次替换,可以使您回到原始格式:

sed -e "s/-----BEGIN RSA PRIVATE KEY-----/&\n/"\
    -e "s/-----END RSA PRIVATE KEY-----/\n&/"\
    -e "s/\S\{64\}/&\n/g"\
    ~/.ssh/id_rsa

标准键格式要求BEGINEND语句在单独的行上,并且base64编码的键必须在64列处格式化。上面的命令将带您到那里。

关于encryption - 将单行RSA私钥SSH key 转换为多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56333989/

相关文章:

ssl - 尝试使用客户端证书时解决 sslv3 警报握手失败

c - OpenSSL BN_exp() 用法

openssl - 使用 rbenv 安装 Ruby 2.0.0-p247

encryption - 对称密码学和盐

c - 简单的 XOR 加密给出意想不到的结果

c - 如何使用 libtomcrypt 导入 RSA 公钥?

gitolite - 如何克隆并推送到在 "user"文件夹下创建的 repo

java - 拥有恒定的KeyStore会降低安全性吗?

c# - 通过 SSH.NET ForwardedPortLocal 从 .NET 代码连接到 MySQL 不起作用

perl - 通过ssh将stdin/stdout重定向到远程主机/从远程主机重定向