没有密钥对的SSH aws ec2弹性beantalk

Posted

技术标签:

【中文标题】没有密钥对的SSH aws ec2弹性beantalk【英文标题】:SSH aws ec2 elastic beanstalk without keypair 【发布时间】:2015-08-22 20:06:19 【问题描述】:

我有一个在没有密钥对的情况下创建的正在运行的实例,据我了解is not possible to apply a keypair to a running instance,我需要通过 ssh 连接到该实例以获取一些日志,我该怎么做?

右键单击实例 -> 连接,显示一条消息,说明该实例未与密钥对关联,并且“您需要使用有效的用户名和密码组合登录此实例”。

我们的应用在 Elastic Beanstalk 上运行,用户应该是 ec2-user,但是密码呢?我怎样才能找回它?

PS:不能使用密钥对重新启动实例......

谢谢!

【问题讨论】:

【参考方案1】:

您可以使用控制台中的尾日志或完整日志选项下载日志

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.loggingS3.title.html

以上内容将为您提供来自实例的默认日志文件集。如果您想从非默认位置之一获取文件,则需要使用以下 ebextension 更新您的环境。在应用程序根目录中名为 .ebextensions 的文件夹中创建文件 custom-logs.config。在您的文件内容中创建一个指向您的自定义位置的日志配置文件。

示例内容:

files:
  "/opt/elasticbeanstalk/tasks/systemtaillogs.d/my-cool-logs.conf" :
    mode: "000777"
    owner: root
    group: root
    content: |
      /my-framework/my-logs/my-cool-log.log

此文件为 yaml 格式,因此请注意缩进。创建此文件后,您可以将此新应用程序版本部署到您的环境中。然后,当您使用上述说明对日志进行快照时,您将获得自定义日志。

【讨论】:

您好,感谢您的回复,但我必须在应用程序级别下载日志(类似于 my-framework/my-logs/my-cool-log.log) 感谢@rohit-banga,这不是我正在寻找的解决方案,因为我必须重新部署应用程序才能获取带有尾日志的日志,这意味着当前日志将是丢失。您的回答是对未来非常好的解决方案,感谢一百万!【参考方案2】:

如果有任何方法可以访问您实例上的命令行,那么您可以

编辑

/etc/ssh/sshd_config

设置更改为:

PasswordAuthentication yes

SSH User:Pass access 默认为 no 在启动时。

【讨论】:

以上是关于没有密钥对的SSH aws ec2弹性beantalk的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 AWS EC2 密钥对创建日期?

没有密钥对的SSH到AWS实例

如何将节点特定的 SSH 密钥与 Rundeck AWS EC2 资源插件一起使用?

AWS SSH 访问密钥生成过程并安装在 EC2 上

将密钥对添加到现有 EC2 实例

如何从 AWS ec2 实例中提取文件?