【问题标题】:Amazon Elastic Beanstalk PuttyAmazon Elastic Beanstalk 腻子
【发布时间】:2014-12-15 22:13:24
【问题描述】:

我已将我的 Django 项目部署到 Amazon Elastic Beanstalk。当您创建 EBS 环境时,您可以为其分配一个密钥对,并使用 Putty SSH 到 EC2 实例,一切正常,但是当您使用 git aws.push 时,尝试 SSH 到同一个会话(只需加载它在 Putty 中),不接受之前的密钥对,并返回“服务器拒绝我们的密钥”。

如果您再次为 EBS 环境分配一个新的密钥对,您可以使用 Putty 进行 SSH 并且没有任何问题,但是通过分配一个新的密钥,它会终止当前的 EC2 实例并创建一个新的实例,从而导致丢失所有您之前使用 SSH 完成的设置。

任何帮助将不胜感激。

【问题讨论】:

  • Elastic Beanstalk 有时可以替换 EC2 实例,因为您的实例是自动扩展组的一部分。您确定实例不是一夜之间更换的吗?
  • 如果您不想终止之前的实例并创建一个新实例,您也可以按照此文档中的说明进行操作:docs.aws.amazon.com/AWSEC2/latest/UserGuide/… 我认为这确实很乏味。

标签: django amazon-web-services amazon-ec2 amazon-elastic-beanstalk putty


【解决方案1】:

只需使用 CLI 工具命令:

eb ssh

从您的应用程序目录级别,您将能够 ssh 到当前和任何未来的节点实例。

【讨论】:

    【解决方案2】:

    首先猜测是您的 IP 地址发生了变化。许多 ISP 经常轮换您的 IP 地址。默认情况下,AWS 通过已知 IP 地址限制对特定端口的访问。假设您的公共 IP 地址已更改,您需要在每次 IP 地址更改时更新您的 AWS 安全设置。

    转到您的 AWS EC2 实例列表。在顶部窗格中选择您的实例,然后在底部窗格中查找安全组,右列,向下大约五行。查看规则。确保您的机器被列为允许的入站来源。

    如果您编辑规则,下拉值之一是“我的 IP”。它会将规则刷新为您当前的公共 IP 地址。

    【讨论】:

    • 我什至试过这个并在安全组中使用“所有流量”。
    • 我很好奇,这个问题是否与您如何终止腻子有关?因为昨晚我只是让我的笔记本电脑进入睡眠模式,没有终止 putty。
    • 不,这不会影响这个,它只是在时间到期时断开连接。
    • 您是否更改了用户名,或者您是否使用了其他一些初始磁盘映像?对于大多数发行版,名称是“ec2-user”。一些 Redhat 镜像使用“root”,Ubuntu 使用“ubuntu”,一些 Fedora 镜像使用“fedora”。看起来像“LAMP Stack powered by Bitnami”的图像,用户名需要是“bitnami”。这不太可能,因为您已经连接,但可能值得一试。
    • 没有。我没有改变任何东西。我在 Python 2.7 中使用 32 位 AMAZON LINUX。在这种情况下,我的用户名应该是“ec2-user”,它一直工作到昨晚。我唯一做的就是让我的笔记本电脑进入睡眠模式,然后在今天早上再次打开它。有趣的是,当我尝试用户名“root”时,它返回一条消息说您应该使用“ec2-user”登录,而当使用“ec2-user”登录时,它不接受。
    猜你喜欢
    • 2018-10-13
    • 1970-01-01
    • 2013-12-05
    • 2013-06-12
    • 2015-02-23
    • 2018-02-27
    • 2014-06-07
    • 2011-09-06
    • 2014-10-13
    相关资源
    最近更新 更多