Python 将beeswithmachineguns与.pem一起使用时出现boto异常
所以我试着用蜜蜂和机关枪来测试我自己的网站Python 将beeswithmachineguns与.pem一起使用时出现boto异常,python,amazon-ec2,boto,Python,Amazon Ec2,Boto,所以我试着用蜜蜂和机关枪来测试我自己的网站 01:01:11 Peters-MacBook-Pro:.ssh peterconerly$ bees up -k amazonkeypair -s 1 -g public -l ec2-user Connecting to the hive. Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.7/bin/bees", l
01:01:11 Peters-MacBook-Pro:.ssh peterconerly$ bees up -k amazonkeypair -s 1 -g public -l ec2-user
Connecting to the hive.
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.7/bin/bees", line 5, in <module>
main.main()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/beeswithmachineguns/main.py", line 127, in main
parse_options()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/beeswithmachineguns/main.py", line 111, in parse_options
bees.up(options.servers, options.group, options.zone, options.instance, options.login, options.key)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/beeswithmachineguns/bees.py", line 93, in up
ec2_connection = boto.connect_ec2()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/__init__.py", line 135, in connect_ec2
return EC2Connection(aws_access_key_id, aws_secret_access_key, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/ec2/connection.py", line 87, in __init__
https_connection_factory, path)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/connection.py", line 638, in __init__
debug, https_connection_factory, path)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/connection.py", line 281, in __init__
host, config, self.provider, self._required_auth_capability())
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/auth.py", line 308, in get_auth_handler
'Check your credentials' % (len(names), str(names)))
boto.exception.NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['QuerySignatureV2AuthHandler'] Check your credentials
01:01:11 Peters MacBook Pro:.ssh peterconerly$bees up-k amazonkeypair-s1-g public-l ec2用户
连接到蜂箱。
回溯(最近一次呼叫最后一次):
文件“/Library/Frameworks/Python.framework/Versions/2.7/bin/bees”,第5行,在
main.main()
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/beeswithmachineeguns/main.py”,main中第127行
解析_选项()
parse_options中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/beeswithmachineeguns/main.py”,第111行
bees.up(options.servers、options.group、options.zone、options.instance、options.login、options.key)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/beeswithmachineeguns/bees.py”,第93行,向上
ec2_connection=boto.connect_ec2()
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/boto/_init__.py”,第135行,在connect_ec2中
返回EC2连接(aws\u访问\u密钥\u id,aws\u机密\u访问\u密钥,**kwargs)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/boto/ec2/connection.py”,第87行,在__
https\u连接\u工厂,路径)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/boto/connection.py”,第638行,在__
调试,https\u连接\u工厂,路径)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/boto/connection.py”,第281行,在__
主机,配置,self.provider,self.\u必需\u身份验证功能()
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/boto/auth.py”,第308行,在get\u auth\u处理程序中
'检查您的凭据“%”(len(名称),str(名称)))
boto.exception.NoAuthHandlerFound:没有处理程序准备好进行身份验证。检查了1个处理器。['QuerySignatureV2AuthHandler']检查您的凭据
我直接用boto试过,根据
:
导入boto.ec2
>>>conn=boto.ec2.将_连接到_地区(“eu-west-1”)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/ec2/_init_____;.py”,第53行,位于connect_-to_u区域
对于区域中的区域(**kw_参数):
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/ec2/_-init___;.py”,第38行,区域中
c=EC2连接(**kw_参数)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/boto/ec2/connection.py”,第87行,在__
https\u连接\u工厂,路径)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/boto/connection.py”,第638行,在__
调试,https\u连接\u工厂,路径)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/boto/connection.py”,第281行,在__
主机,配置,self.provider,self.\u必需\u身份验证功能()
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/boto/auth.py”,第308行,在get\u auth\u处理程序中
'检查您的凭据“%”(len(名称),str(名称)))
boto.exception.NoAuthHandlerFound:没有处理程序准备好进行身份验证。检查了1个处理器。['QuerySignatureV2AuthHandler']检查您的凭据
>>>
如错误消息所示,boto无法找到任何可使用的凭据。它的外观如下所示:
- 调用connect\u to\u region时,可以将它们显式地作为
和aws\u access\u key\u id
传递aws\u secret\u access\u key
- 您可以设置环境变量
和AWS\u ACCESS\u KEY\u ID
AWS\u SECRET\u ACCESS\u KEY
- 您可以创建一个boto配置文件(有关详细信息,请参阅),并将该文件放置在
或/etc/config
中,也可以将其放置在任何需要的位置,并将环境变量~/.boto
设置为指向该文件boto\u config
- 如果您使用的是boto,则会在EC2服务器上的实例元数据中找到凭据
boto.ec2.connect\u to\u region()
已经需要凭据(正如人们所期望的那样);您如何判断它在需要凭据之前在步骤中失败(事实上,除了innocentimport boto.ec2
语句外,没有其他语句)?@civilion-关于前者:使用AWS命令行工具和旧证书/密钥身份验证方案已被弃用,并将在某个时候被删除;请考虑切换到同时泛泛的<代码>访问密钥ID>代码> />代码>秘密访问密钥方法-您的生命将变得更容易(并且与使用结合起来更安全)。Boto不支持SOAP,因此,不支持通过证书文件进行身份验证。您必须将access_key/secret_key与boto结合使用。另外,将_连接到_region,因为EC2连接对象确实需要凭据,因为它调用DescribeRegions请求以获取EC2服务当前支持的区域列表。
>>> import boto.ec2
>>> conn = boto.ec2.connect_to_region('eu-west-1')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/ec2/__init__.py", line 53, in connect_to_region
for region in regions(**kw_params):
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/ec2/__init__.py", line 38, in regions
c = EC2Connection(**kw_params)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/ec2/connection.py", line 87, in __init__
https_connection_factory, path)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/connection.py", line 638, in __init__
debug, https_connection_factory, path)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/connection.py", line 281, in __init__
host, config, self.provider, self._required_auth_capability())
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/boto/auth.py", line 308, in get_auth_handler
'Check your credentials' % (len(names), str(names)))
boto.exception.NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['QuerySignatureV2AuthHandler'] Check your credentials
>>>