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

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


当前回答

实例启动后,就无法更改 在元数据级别上与实例关联的Keypair,但是您 可以更改用于连接到实例的SSH密钥。

stackoverflow.com/questions/7881469/change-key-pair-for-ec2-instance

其他回答

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

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

实例启动后,就无法更改 在元数据级别上与实例关联的Keypair,但是您 可以更改用于连接到实例的SSH密钥。

stackoverflow.com/questions/7881469/change-key-pair-for-ec2-instance

在我的例子中,我使用这个文档将一个密钥对与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服务器实例

对于Elastic Beanstalk环境,您可以像这样将键值对应用到正在运行的实例:

从EC2 ->密钥对(在网络和安全选项卡下)创建一个键值对 转到Elastic Beanstalk并单击您的应用程序 进入“配置->安全”,单击“编辑” 选择EC2密钥对并单击Apply 单击“确认”确认更新。它将终止环境并将键值应用到您的环境。

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

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