Ansible EC2 Python错误:ValueError:无法解码任何JSON对象

Ansible EC2 Python错误:ValueError:无法解码任何JSON对象,python,amazon-ec2,ansible,Python,Amazon Ec2,Ansible,我正在愉快地前进,一切正常,突然我的所有EC2 Ansible操作都出现了错误(关于重建的警告以前就在那里,不是问题): 我在AWS控制台中的所有操作仍然成功。我也遇到了这个问题。结果是我的AWS钥匙出了问题。以下是我的建议: 验证您是否有有效的密钥。我知道这似乎很明显,但从这里开始:-) 如果您正在使用export AWS\u SECRET\u ACCESS\u KEY=…在您的环境中设置它们,那么它们周围的标点符号必须正确。我的看起来像 导出AWS\u ACCESS\u KEY\u ID=“

我正在愉快地前进,一切正常,突然我的所有EC2 Ansible操作都出现了错误(关于重建的警告以前就在那里,不是问题):


我在AWS控制台中的所有操作仍然成功。

我也遇到了这个问题。结果是我的AWS钥匙出了问题。以下是我的建议:

  • 验证您是否有有效的密钥。我知道这似乎很明显,但从这里开始:-)
  • 如果您正在使用
    export AWS\u SECRET\u ACCESS\u KEY=…
    在您的环境中设置它们,那么它们周围的标点符号必须正确。我的看起来像
  • 导出AWS\u ACCESS\u KEY\u ID=“ASFSADFSDF”
    (带引号)

    导出AWS\u SECRET\u ACCESS\u KEY=ADSFASFAASFASDFSDSFDASDFSADF
    (无引号)

  • 如果要在.zshconfig或.bash_配置文件中设置这些,请重新启动选项卡或窗口,以确保重新读取配置文件,并将AWS密钥加载到环境中
  • 希望有帮助

  • 确保已导出AWS_访问密钥ID和AWS_机密密钥。 (正如其他人所指出的)

  • 确保已安装了boto,您可以通过运行以下程序进行安装:

    sudo pip安装boto


  • 即使密钥有效,也值得检查分配给用户的权限。
    ec2-user]# ansible -m ping -u ec2-user all
    /usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
      _warn("Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
    Traceback (most recent call last):
      File "/root/ansible/bin/ansible", line 194, in <module>
        (runner, results) = cli.run(options, args)
      File "/root/ansible/bin/ansible", line 112, in run
        inventory_manager = inventory.Inventory(options.inventory, vault_password=vault_pass)
      File "/root/ansible/lib/ansible/inventory/__init__.py", line 118, in __init__
        self.parser = InventoryScript(filename=host_list)
      File "/root/ansible/lib/ansible/inventory/script.py", line 49, in __init__
        self.groups = self._parse(stderr)
      File "/root/ansible/lib/ansible/inventory/script.py", line 57, in _parse
        self.raw  = utils.parse_json(self.data)
      File "/root/ansible/lib/ansible/utils/__init__.py", line 552, in parse_json
        results = json.loads(data)
      File "/usr/lib64/python2.6/json/__init__.py", line 307, in loads
        return _default_decoder.decode(s)
      File "/usr/lib64/python2.6/json/decoder.py", line 319, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
      File "/usr/lib64/python2.6/json/decoder.py", line 338, in raw_decode
        raise ValueError("No JSON object could be decoded")
    ValueError: No JSON object could be decoded
    
     ec2-user]# /etc/ansible/hosts
    Looks like AWS is down again:
    EC2ResponseError: 403 Forbidden
    <?xml version="1.0" encoding="UTF-8"?>
    <Response><Errors><Error><Code>UnauthorizedOperation</Code><Message>You are not authorized to perform this operation.</Message></Error></Errors><RequestID>9c499f04-3fd8-47cd-a7e4-655af47c1564</RequestID></Response>