如何对 SSH 私钥进行编码然后解码

Jan*_*uka 8 linux ssh base64 encode

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

-----BEGIN RSA PRIVATE KEY----- 
xxxxxxx 
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

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

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

我尝试的是:

encode ./private-key 
bash6d -d ./private-key
Run Code Online (Sandbox Code Playgroud)

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

Von*_*onC 9

我更喜欢使用 openssl

openssl enc -base64 -in my.key -out my.key.base64
Run Code Online (Sandbox Code Playgroud)

然后,对其进行解码:

openssl enc -d -base64 -in my.key.base64 -out my.key
Run Code Online (Sandbox Code Playgroud)

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

要测试它:

openssl enc -a -in my.key | openssl enc -a -d
Run Code Online (Sandbox Code Playgroud)