我获得了AWS控制台访问权限,该帐户有两个正在运行的实例,但我无法关闭(在生产环境中)。但是,我想获得对这些实例的SSH访问权,是否可以创建一个新的Keypair并将其应用到实例,以便我可以SSH ?目前还不能为创建实例的密钥对获取现有的pem文件。

如果这是不可能的,是否有其他方法可以进入实例?


当前回答

实际上,您可以通过elastic beanstalk配置页面添加密钥对。然后它为您重新启动实例,一切正常。

其他回答

在您的本地机器上,运行命令:

ssh-keygen -t rsa -C "SomeAlias"

运行该命令后,以*结尾的文件。将生成Pub。复制该文件的内容。

在Amazon机器上,编辑~/。Ssh /authorized_keys,并粘贴*. xml文件的内容。Pub文件(并首先删除任何现有内容)。

然后,您可以使用SSH -keygen命令生成的另一个文件(私钥)进行SSH。

在我的例子中,我使用这个文档将一个密钥对与Elastic Beanstalk实例关联起来

重要的 在访问Elastic beanstalk提供的Amazon EC2实例之前,您必须创建一个Amazon EC2密钥对,并配置您的Elastic beanstalk提供的Amazon EC2实例来使用Amazon EC2密钥对。您可以使用AWS管理控制台设置Amazon EC2密钥对。有关为Amazon EC2创建密钥对的说明,请参阅Amazon Elastic Compute Cloud入门指南。

使用Elastic Beanstalk配置Amazon EC2服务器实例

您可以通过以下命令向实例添加一个新密钥:

ssh-copy-id -i ~/.ssh/id_rsa.pub domain_alias

可以在~/目录下配置domain_alias。ssh配置

host domain_alias
  User ubuntu
  Hostname domain.com
  IdentityFile ~/.ssh/ec2.pem

我没有找到通过控制台添加新密钥对的简单方法,但您可以手动完成。

只需使用现有密钥对ssh进入EC2盒子。然后编辑~/。Ssh /authorized_keys并在新行中添加新密钥。通过新机器退出并ssh。成功!

实际上,您可以通过elastic beanstalk配置页面添加密钥对。然后它为您重新启动实例,一切正常。