aws ssm get-parameter rsa key输出到文件

H R*_* RH 3 sed amazon-web-services

我已将我的私钥文件存储在AWS SSM参数存储中.我想从参数存储中只检索私钥值,并使用aws cli将其保存为本地id_rsa文件.

这篇文章:https://github.com/aws/aws-cli/issues/2742向我展示了我如何使用它sed.但是我仍然得到一个字符,之后"-----END RSA PRIVATE KEY-----"我想删除使用sed.

这是我在命令行上运行的命令:

aws --region=us-east-1 ssm get-parameters --names "mykey" --with-decryption --output text 2>&1 | sed 's/.*----BEGIN/----BEGIN/'
Run Code Online (Sandbox Code Playgroud)

输出是:

----BEGIN RSA PRIVATE KEY-----
some text here
-----END RSA PRIVATE KEY-----   2
Run Code Online (Sandbox Code Playgroud)

请注意2最后一行的末尾.我想在之后摆脱任何事情-----END RSA PRIVATE KEY-----.

我需要在sed命令中添加什么来实现这一目标?

lex*_*ope 11

您可以使用以下命令单独获取该值:

aws --region=us-east-1 ssm get-parameter --name "mykey" --with-decryption --output text --query Parameter.Value
Run Code Online (Sandbox Code Playgroud)

即通过选择使用的值 --query Parameter.Value

然后,您可以直接将其传送到文件而不使用sed.

  • 这似乎已更新为“--query“Parameters[*].Value””每https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameters.html (2认同)

H R*_* RH 1

这行解决了我的问题:

aws --region=us-east-1 ssm get-parameters --names "mykey" --with-decryption --output text 2>&1 | sed 's/.*----BEGIN/----BEGIN/' | sed 's/KEY-----.*/KEY-----/' > id_rsa
Run Code Online (Sandbox Code Playgroud)