我获得了AWS控制台访问权限,该帐户有两个正在运行的实例,但我无法关闭(在生产环境中)。但是,我想获得对这些实例的SSH访问权,是否可以创建一个新的Keypair并将其应用到实例,以便我可以SSH ?目前还不能为创建实例的密钥对获取现有的pem文件。
如果这是不可能的,是否有其他方法可以进入实例?
我获得了AWS控制台访问权限,该帐户有两个正在运行的实例,但我无法关闭(在生产环境中)。但是,我想获得对这些实例的SSH访问权,是否可以创建一个新的Keypair并将其应用到实例,以便我可以SSH ?目前还不能为创建实例的密钥对获取现有的pem文件。
如果这是不可能的,是否有其他方法可以进入实例?
当前回答
在您的本地机器上,运行命令:
ssh-keygen -t rsa -C "SomeAlias"
运行该命令后,以*结尾的文件。将生成Pub。复制该文件的内容。
在Amazon机器上,编辑~/。Ssh /authorized_keys,并粘贴*. xml文件的内容。Pub文件(并首先删除任何现有内容)。
然后,您可以使用SSH -keygen命令生成的另一个文件(私钥)进行SSH。
其他回答
您可以通过以下命令向实例添加一个新密钥:
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
对于Elastic Beanstalk环境,您可以像这样将键值对应用到正在运行的实例:
从EC2 ->密钥对(在网络和安全选项卡下)创建一个键值对 转到Elastic Beanstalk并单击您的应用程序 进入“配置->安全”,单击“编辑” 选择EC2密钥对并单击Apply 单击“确认”确认更新。它将终止环境并将键值应用到您的环境。
在您的本地机器上,运行命令:
ssh-keygen -t rsa -C "SomeAlias"
运行该命令后,以*结尾的文件。将生成Pub。复制该文件的内容。
在Amazon机器上,编辑~/。Ssh /authorized_keys,并粘贴*. xml文件的内容。Pub文件(并首先删除任何现有内容)。
然后,您可以使用SSH -keygen命令生成的另一个文件(私钥)进行SSH。
实例启动后,就无法更改 在元数据级别上与实例关联的Keypair,但是您 可以更改用于连接到实例的SSH密钥。
stackoverflow.com/questions/7881469/change-key-pair-for-ec2-instance
我没有找到通过控制台添加新密钥对的简单方法,但您可以手动完成。
只需使用现有密钥对ssh进入EC2盒子。然后编辑~/。Ssh /authorized_keys并在新行中添加新密钥。通过新机器退出并ssh。成功!