繁体   English   中英

AWS SSM 发送命令 CLI 中的 escaping 字符

[英]escaping characters in AWS SSM send-command CLI

我希望在 windows EC2 机器(powershell)上远程运行以下命令:

$username = 'myusername';$password = 'mypass';$securePassword = ConvertTo-SecureString $password -AsPlainText -Force;$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword;Start-Process Notepad.exe -Credential $credential

我正在尝试通过 AWS SSM 发送命令运行它,如下所示:

aws ssm send-command --instance-ids "i-xxxxx" --document-name "AWS-RunPowerShellScript" --comment "myscript" --parameters commands=$CMD

$CMD 分配给 powershell 命令。 我已经尝试了 escaping powershell 命令中的字符各种方式,但我没有任何运气。

我正在尝试在 mac 终端上运行此命令。

鉴于 Credential 对象的工作方式,这是解决此问题的最佳方法:

  1. 将用户名和密码存储在 ssm 参数存储中(这些值使用 KMS 密钥加密)
  2. 在 PowerShell 脚本中,检索这些值并构造 PSCredential object。 这是一个示例 - https://github.com/nanalakshmanan/PSConfAsia2018/blob/master/Documents/Nana-GetCredentialFromStore.yml

请注意,为了从 Parameter Store 检索密钥,附加到您的实例的 IAM 配置文件需要额外的权限

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM