如何用一行、三行代码制作 SSH 私钥

如何用一行、三行代码制作 SSH 私钥

我有 ssh-key,类似这样

-----BEGIN RSA PRIVATE KEY----- my_super_secret_password -----END RSA PRIVATE KEY-----

当然,这个键不起作用。当我手动操作时,会出现这样的情况

-----BEGIN RSA PRIVATE KEY----- 
my_super_secret_password 
-----END RSA PRIVATE KEY-----

可以了。当我删除这个-----BEGIN RSA PRIVATE KEY-----和这个时-----END RSA PRIVATE KEY-----,我的 ssh-key 不起作用。

那么,问题是。我怎样才能通过某些命令(例如sedawk或任何其他命令)自动制作,我怎样才能从这个字符串制作

-----BEGIN RSA PRIVATE KEY----- my_super_secret_password -----END RSA PRIVATE KEY-----

这三根弦

-----BEGIN RSA PRIVATE KEY----- 
my_super_secret_password 
-----END RSA PRIVATE KEY-----

感谢您的帮助。如果您知道关于这个问题的其他答案,我很高兴听到您的回答。我需要它的原因是,我在 中存储了密钥AWS Secret Manager。因此,此管理器仅在一行中存储密钥。

答案1

我个人会对密钥进行 base64 编码,存储它,然后在需要时对其进行 base64 解码。

编码:

echo "-----BEGIN RSA PRIVATE KEY----- my_super_secret_password -----END RSA PRIVATE KEY-----" | openssl base64 | tr -d '\n'

解码:

echo "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLSBteV9zdXBlcl9zZWNyZXRfcGFzc3dvcmQgLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K" | openssl base64 -A -d

答案2

就像这样,又快又老套。

echo "-----BEGIN RSA PRIVATE KEY----- my_super_secret_password -----END RSA PRIVATE KEY-----" | sed 's/\(KEY----- \)/\1\n/' | sed 's/\(-----END\)/\n\1/'

相关内容