【问题标题】:Private key for connecting EC2 instance连接EC2实例的私钥
【发布时间】:2019-05-16 14:29:45
【问题描述】:

在本地,我们不使用公钥-私钥连接到在 ESX 上启动的 Linux VM。

root 用户在 VM 上创建/配置本地用户(过期)并为非 root 用户提供访问权限


AWS 控制台上的管理员用户 (IAM) 创建一个 EC2 实例,该实例应该由多个非管理员用户 (IAM) 使用。

管理员用户 (IAM) 可以使用命令连接到 EC2 实例:

ssh -i /local_to_machine/my_private_key.pem user_name@public_dns_name

Admin 用户没有 EC2 实例的 root 访问权限,而是用户名为 ec2_user(UID=1000),这是一个普通用户,但拥有 sudo 访问权限,几乎可以做任何事情

$ cat /etc/group | grep ec2-user
adm:x:4:ec2-user
wheel:x:10:ec2-user
systemd-journal:x:190:ec2-user
ec2-user:x:1000:

1) IAM 管理员用户能否拥有 EC2 实例的 root 访问权限 (UID=0)?

2) 作为 root 用户,可以多个非 root 用户连接到这个实例吗?没有私钥...

【问题讨论】:

    标签: linux amazon-web-services amazon-ec2 user-management aws-iam


    【解决方案1】:

    我不知道 1。但这是我可以帮助您的。

    访问 EC2 实例上的 root/非 root 用户的权限由密钥决定。

    例如,默认情况下,AWS 在您启动实例时提供的 .pem 文件没有 root 访问权限,为什么?因为这个.pem文件的公钥不在可以访问root用户的授权密钥下。

    你可以做以下检查

    ssh-keygen -f my_private_key.pem -y > my_public_key.pub (1)
    cat my_public_key.pub                                   (2)
    

    现在使用以下命令通过 SSH 连接到您的实例:

    ssh -i /local_to_machine/my_private_key.pem user_name@public_dns_name (3)
    
    cat ~/.ssh/authorized_keys                                            (4)
    

    这里至少有 1 个条目将是您在 2 获得的 pem 文件的公共部分。

    现在假设您要授予计算机对 EC2 实例的直接 root 访问权限。您要做的是将他们的公钥添加到 root 帐户下的authorized_keys 文件中:

    //Ask them to give you the PUBLIC key
    ssh -i /local_to_machine/my_private_key.pem user_name@public_dns_name 
    sudo su // changes from current user to root user 
    echo "<their public key>" >> ~/.ssh/authorized_keys
    

    现在他们可以直接访问root用户了

      ssh root@public_dns_name 
    

    用于管理具有 root/非 root 权限的多个帐户。我的建议是将.pem 文件留给您自己(保留以备不时之需)并管理对~./ssh/authorized_keys 文件中附加/删除条目的访问。

    如果您不想询问他们的公钥,您实际上可以自己创建 pem 文件

    【讨论】:

      【解决方案2】:

      1) IAM 管理员用户能否拥有 EC2 实例的 root 访问权限 (UID=0)?

      IAM 不负责您的 EC2 实例操作系统访问,它只定义对 AWS 实体(EC2、S3、SQS 等)的访问策略。您正在使用预配置的 ssh 用户和您的公钥连接到 EC2 实例,而不是使用您的 IAM 用户凭证,因此所有进一步的 ssh 访问配置完全取决于您的责任,与 IAM 无关。

      【讨论】:

        猜你喜欢
        • 2014-11-28
        • 2013-05-26
        • 2020-07-30
        • 2013-06-18
        • 2020-09-28
        • 1970-01-01
        • 1970-01-01
        • 2019-02-26
        • 2014-11-01
        相关资源
        最近更新 更多