我将private-key作为gitlab环境变量进行传递。但是当我回显它时,它被改变了,它并不是真正的格式:
-----BEGIN RSA PRIVATE KEY-----
xxxxxxx
-----END RSA PRIVATE KEY-----因此,我认为解决方案必须是再次encode它,然后使用base64 decode它
我如何使用bash shell做到这一点?
我尝试的是:
encode ./private-key
bash6d -d ./private-key我怀疑这不是正确的方法。有人能帮帮我吗?
发布于 2020-03-17 13:25:45
我更喜欢using 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发布于 2021-09-22 09:52:23
这可能是一个延迟响应,但希望它能帮助其他人。我也遇到过类似的情况:对ssh私钥进行编码,将其嵌入到kubernetes secret中,并在POD内的挂载文件中使用它。如下所示。
如果您使用的是linux环境,可以使用以下命令对数据进行编码。
$ cat private_key.pem|base64
{Encoded_Data}这个输出复制到secret中,在挂载时,我可以发现解码的数据已经与它编码的数据相同。但是,如果你想解码这个数据,你可以使用下面的命令。
$cat encoded_private_key.pem|base64 --decodehttps://stackoverflow.com/questions/60694927
复制相似问题