j'ai une clé SSH, quelque chose comme ça
-----BEGIN RSA PRIVATE KEY----- my_super_secret_password -----END RSA PRIVATE KEY-----
Bien sûr, cette clé ne fonctionne pas. Quand je fais des choses manuelles, quelque chose, comme ça
-----BEGIN RSA PRIVATE KEY-----
my_super_secret_password
-----END RSA PRIVATE KEY-----
Ça marche. Quand je supprime ce -----BEGIN RSA PRIVATE KEY-----
et ça -----END RSA PRIVATE KEY-----
, ma clé SSH ne fonctionne pas.
Donc, la question. Comment, je peux faire automatiquement via une commande, comme sed
ou awk
ou une autre commande, comment puis-je faire de cette chaîne
-----BEGIN RSA PRIVATE KEY----- my_super_secret_password -----END RSA PRIVATE KEY-----
ces trois cordes
-----BEGIN RSA PRIVATE KEY-----
my_super_secret_password
-----END RSA PRIVATE KEY-----
Merci de votre aide. Si vous connaissez une autre réponse sur cette question, je suis heureux de vous entendre. La raison, pourquoi j'en ai besoin, car j'ai le stockage de clés secrètes dans AWS Secret Manager
. Ce manager stocke donc des clés uniquement en une seule ligne.
Je ferais personnellement la base64-coder la clé, le stocker, puis la base64 décode quand vous en avez besoin.
Encoder:
echo "-----BEGIN RSA PRIVATE KEY----- my_super_secret_password -----END RSA PRIVATE KEY-----" | openssl base64 | tr -d '\n'
Décoder:
echo "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLSBteV9zdXBlcl9zZWNyZXRfcGFzc3dvcmQgLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K" | openssl base64 -A -d
Quelque chose comme ça, rapide et hacky.
echo "-----BEGIN RSA PRIVATE KEY----- my_super_secret_password -----END RSA PRIVATE KEY-----" | sed 's/\(KEY----- \)/\1\n/' | sed 's/\(-----END\)/\n\1/'