首页 > 解决方案 > 如何对 SSH 私钥进行编码然后对其进行解码

问题描述

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

-----BEGIN RSA PRIVATE KEY----- 
xxxxxxx 
-----END RSA PRIVATE KEY-----

所以我认为解决方案必须encode再次解决,然后再decode解决base64

我怎样才能用bash外壳做到这一点?

我尝试的是:

encode ./private-key 
bash6d -d ./private-key

我怀疑这不是方法。有人可以帮帮我吗?

标签: linuxsshbase64encode

解决方案


我更喜欢使用 openssl

openssl enc -base64 -in my.key -out my.key.base64

然后,解码它:

openssl enc -d -base64 -in my.key.base64 -out my.key

如果您想在标准输出上查看结果,可以省略 -out 部分。
你可以使用-a代替-base64(相同的选项,更短)

要测试它:

openssl enc -a -in my.key | openssl enc -a -d

推荐阅读