【问题标题】:Cannot connect to EC2 using python boto无法使用 python boto 连接到 EC2
【发布时间】:2016-12-13 19:29:58
【问题描述】:

我完全是 Python 和 boto 的菜鸟,并试图建立与 ec2 服务的基本连接。 我正在运行以下代码:

ec2Conn = boto.connect_ec2('username','password')
group_name = 'python_central'
description = 'Python Central: Test Security Group.'
group = ec2Conn.create_security_group(group_name, description)
group.authorize('tcp', 8888,8888, '<a href="http://0.0.0.0/0">0.0.0.0/0</a>')

并得到以下错误: AWS 无法验证提供的访问凭证

我读过一些帖子,这可能是由于我的机器和 EC2 服务器之间的时间差异,但根据日志,它们是相同的:

主机:ec2.us-east-1.amazonaws.com x-amz-date:20161213T192005Z

主机;x-amz-日期 515db222f793e7f96aa93818abf3891c7fd858f6b1b9596f20551dcddd5ca1be 2016-12-13 19:20:05,132 boto [DEBUG]:StringToSign:

知道如何让这个连接运行吗?

谢谢!

【问题讨论】:

  • 您使用boto 启动实例,而不是连接到实例。你想ssh 进入你创建的实例吗?
  • 您从哪里获得usernamepassword? AWS API 不需要用户名/密码,它需要访问密钥和密钥。您似乎混淆了 AWS API 访问和 EC2 SSH 访问。
  • @helloV 我确实尝试启动实例。示例代码取自这里:pythoncentral.io/introduction-to-python-on-aws-with-boto
  • @MarkB 你是对的,应该是“访问密钥”和“秘密密钥”。只是想启动/关闭实例,不涉及 SSH 连接

标签: python amazon-web-services amazon-ec2 boto


【解决方案1】:

对 AWS API 的调用需要通过 Access KeySecret Key 进行身份验证。这些可以从用户的安全凭证选项卡下的身份和访问管理 (IAM) 控制台获取。

见:Getting Your Access Key ID and Secret Access Key

如果您不熟悉 Python,您可能会发现使用 AWS Command-Line Interface (CLI) 调用 AWS 服务更容易。例如,这个单行命令可以启动一个 Amazon EC2 实例:

aws ec2 run-instances --image-id ami-c2d687ad --key-name joe --security-group-id sg-23cb34f6 --instance-type t1.micro

见:AWS CLI run-instances documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    相关资源
    最近更新 更多