web-dev-qa-db-ja.com

1行、3行から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-----

これらの3つの文字列

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

ご協力いただきありがとうございます。この質問に対する他の答えを知っているなら、私はあなたを聞いてうれしいです。 AWS Secret Managerに秘密鍵のストレージがあるため、それが必要な理由。したがって、このマネージャーはキーを1行にのみ格納します。

1
Piduna

私は個人的にキーを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
4
Craig Watson

このようなもの、素早くハック。

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