我无法从作为系统帐户运行的cmd.exe运行任何AWS CLI命令。
根据调试输出,当尝试获取EC2机器的IAM-Role时,看起来问题可能是获得404:
C:\>aws --debug s3 ls
2016-09-02 15:47:31,101 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: iam-role
2016-09-02 15:47:35,608 - MainThread - botocore.vendored.requests.packages.urllib3.connectionpool - INFO - Starting new HTTP connection (1): au-aws-igw.analytics.pvt
2016-09-02 15:47:35,674 - MainThread - botocore.vendored.requests.packages.urllib3.connectionpool - DEBUG - "GET http://169.254.169.254/latest/meta-data/iam/security-credentials/ HTTP/1.1" 404 345
要复制问题:
如果只是远程进入EC2并运行cmd(而不是系统帐户),那么' aws s3 ls'按预期工作...即列出EC2 IAM角色有权查看的所有s3存储桶。
答案 0 :(得分:0)
阅读本文: http://windowsitpro.com/systems-management/psexec
也许尝试使用-u指定框中的用户来运行命令?
我猜这是一个没有设置环境变量,AWS配置路径或其他内容的问题。
无论您可以远程访问哪个用户并运行cmd,都会在-se参数中为psexec.exe命令传递该用户名,我希望它能够正常工作。
答案 1 :(得分:0)
问题是为系统帐户配置了代理,因此无法访问本地EC2元数据URL。
很难找到隐藏在Windows框中的注册表中的内容。我不得不打开regedit作为系统帐户并转到IE并在那里找到它。刚删除该密钥并正常工作。