首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对SSH私钥进行编码和解码

如何对SSH私钥进行编码和解码
EN

Stack Overflow用户
提问于 2020-03-16 00:12:06
回答 2查看 7K关注 0票数 4

我将private-key作为gitlab环境变量进行传递。但是当我回显它时,它被改变了,它并不是真正的格式:

代码语言:javascript
复制
-----BEGIN RSA PRIVATE KEY----- 
xxxxxxx 
-----END RSA PRIVATE KEY-----

因此,我认为解决方案必须是再次encode它,然后使用base64 decode

我如何使用bash shell做到这一点?

我尝试的是:

代码语言:javascript
复制
encode ./private-key 
bash6d -d ./private-key

我怀疑这不是正确的方法。有人能帮帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2020-03-17 13:25:45

我更喜欢using openssl

代码语言:javascript
复制
openssl enc -base64 -in my.key -out my.key.base64

然后,要解码它:

代码语言:javascript
复制
openssl enc -d -base64 -in my.key.base64 -out my.key

如果希望看到标准输出上的结果,可以省略-out部分。

你可以用-a代替-base64 (同样的选项,更短)

要对其进行测试:

代码语言:javascript
复制
openssl enc -a -in my.key | openssl enc -a -d
票数 3
EN

Stack Overflow用户

发布于 2021-09-22 09:52:23

这可能是一个延迟响应,但希望它能帮助其他人。我也遇到过类似的情况:对ssh私钥进行编码,将其嵌入到kubernetes secret中,并在POD内的挂载文件中使用它。如下所示。

如果您使用的是linux环境,可以使用以下命令对数据进行编码。

代码语言:javascript
复制
$ cat private_key.pem|base64
{Encoded_Data}

这个输出复制到secret中,在挂载时,我可以发现解码的数据已经与它编码的数据相同。但是,如果你想解码这个数据,你可以使用下面的命令。

代码语言:javascript
复制
$cat encoded_private_key.pem|base64 --decode
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60694927

复制
相关文章

相似问题

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