Amazon web services EC2实例连接和IAM公钥

Amazon web services EC2实例连接和IAM公钥,amazon-web-services,amazon-ec2,ssh,Amazon Web Services,Amazon Ec2,Ssh,我正在设置一个新的EC2 Amazon Linux 2 AMI,并且正在尝试设置EC2实例连接,因为它已预装在我的新实例上 根据我对文档的理解,我应该能够创建一个IAM用户,向该用户添加一个公钥,然后使用IAM用户的(公钥)SSH将其放入框中,而无需在EC2实例上创建.SSH文件夹 我所做的是: 在EC2实例上创建一个我的IAM用户应该映射到的用户(让我们称他为bob) 已将我的公共OpenSSH密钥上载到IAM用户 创建了允许操作ec2实例连接的权限策略:SendSSHPublicKey(根据

我正在设置一个新的EC2 Amazon Linux 2 AMI,并且正在尝试设置EC2实例连接,因为它已预装在我的新实例上

根据我对文档的理解,我应该能够创建一个IAM用户,向该用户添加一个公钥,然后使用IAM用户的(公钥)SSH将其放入框中,而无需在EC2实例上创建.SSH文件夹

我所做的是:

  • 在EC2实例上创建一个我的IAM用户应该映射到的用户(让我们称他为bob)
  • 已将我的公共OpenSSH密钥上载到IAM用户
  • 创建了允许操作ec2实例连接的权限策略:SendSSHPublicKey(根据文档)
  • 一旦这些都完成了,如果我尝试SSH到这个框中,它就不起作用了,在我的/var/log/secure中,我看到一个预授权失败

    如果我创建了.ssh/authorized_keys文件并正确设置了权限,那么一切正常

    然而,我对EC2实例连接方法的理解是,它为我提供了一种中心方法来管理对实例的基于公钥的访问

    我说得对吗

    我是不是遗漏了什么

    我发现文档有点不清楚,所以一些见解会有所帮助


    谢谢!

    EC2实例连接的工作原理如下:

    • 您发出一个命令,将临时公钥推送到实例,例如:
    $aws ec2实例连接发送ssh公钥--实例id i-001234A4BF70DEC41示例--可用区us-west-2b--实例操作系统用户ec2用户--ssh公钥file://my_rsa_key.pub
    
    • 然后使用密钥对的私有部分建立到实例的SSH连接
    • 在实例中,EC2实例连接软件与ssh进程接口,并检查提供的ssh密钥是否与使用
      send ssh public key
      推送的公钥匹配(并且在收到该密钥的60秒内
    • 如果它们匹配,则允许SSH会话
    见:


    EC2 Instance Connect还提供了一个基于web的接口,该接口可以启动上述过程(使用临时随机密钥对)并提供SSH接口。进行此操作时,SSH连接似乎来自AWS内部,而不是您自己的IP地址。这是因为web接口使用HTTPS到AWS,然后AWS建立到实例的SSH连接。这会影响安全组配置。

    EC2实例连接的工作原理如下:

    • 您发出一个命令,将临时公钥推送到实例,例如:
    $aws ec2实例连接发送ssh公钥--实例id i-001234A4BF70DEC41示例--可用区us-west-2b--实例操作系统用户ec2用户--ssh公钥file://my_rsa_key.pub
    
    • 然后使用密钥对的私有部分建立到实例的SSH连接
    • 在实例中,EC2实例连接软件与ssh进程接口,并检查提供的ssh密钥是否与使用
      send ssh public key
      推送的公钥匹配(并且在收到该密钥的60秒内
    • 如果它们匹配,则允许SSH会话
    见:

    EC2 Instance Connect还提供了一个基于web的接口,该接口可以启动上述过程(使用临时随机密钥对)并提供SSH接口。进行此操作时,SSH连接似乎来自AWS内部,而不是您自己的IP地址。这是因为web接口使用HTTPS到AWS,然后AWS建立到实例的SSH连接。这对安全组配置有影响。

    您所说的“将我的公共OpenSSH密钥上载到IAM用户”是什么意思?您所说的“将我的公共OpenSSH密钥上载到IAM用户”是什么意思?