通过Putty通过IAM角色访问AWS实例

时间:2014-12-02 05:36:51

标签: amazon-web-services

我是AWS控制台的新手。

  1. 我在ubuntu服务器和密钥对中创建了一个实例
  2. 我创建了一个IAM角色(开发人员和管理员)
  3. 我可以在AWS控制台中使用IAM角色登录。而且使用Putty我能够使用localhost登录:ubuntu @ Public DNS值。一旦我登录,我想在putty中使用IAM角色(开发人员和管理员)访问AWS实例。但是它没有登录。

    是否可以在AWS实例中使用IAM角色。

    Using username "ubuntu".
    Authenticating with public key "imported-openssh-key"
    Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-36-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com/
    
      System information as of Mon Dec  1 05:36:34 UTC 2014
    
      System load:  0.0               Processes:           97
      Usage of /:   12.1% of 7.74GB   Users logged in:     0
      Memory usage: 7%                IP address for eth0: 172.31.23.230
      Swap usage:   0%
    
      Graph this data and manage this system at:
        https://landscape.canonical.com/
    
      Get cloud support with Ubuntu Advantage Cloud Guest:
        http://www.ubuntu.com/business/services/cloud
    
    57 packages can be updated.
    31 updates are security updates.
    
    root@ip-172-31-23-230:/home/ubuntu# login
    ip-172-31-23-230 login: B00017
    Password:
    
    Login incorrect
    ip-172-31-23-230 login: root@ip-172-31-23-230:/home/ubuntu# login
    ip-172-31-23-230 login: B00017
    Password:
    
    Login incorrect
    

1 个答案:

答案 0 :(得分:1)

简答:不。

IAM角色和SSH密钥对是两种不同的机制,适用于不同的用户和不同类型的身份验证。

IAM角色是AWS API权限的容器。角色描述了AWS服务的一组权限,例如EC2,S3,DynamoDB等......将承担角色的实体(例如某人或EC2实例)将临时接收授权以执行角色的权限。

您可以使用IAM角色来控制谁可以访问AWS API(启动计算机,创建负载均衡器,创建网络等等),但IAM角色无助于控制谁可以连接到您的操作系统。

要控制操作系统级别的访问,(在Linux上)AWS要求您生成一对加密RSA密钥并在AWS上传您的公钥。当您的linux实例启动时,进程将在(操作系统)用户目录(〜/ .ssh / authorized_keys)中安装公钥的副本。用户名是特定于操作系统的(ubuntu上的ubuntu,Amazon Linux和RedHat上的ec2-user)

在管理操作系统级别的用户或连接到操作系统的权限时不涉及IAM。

有关角色的更多详细信息,请http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html