【问题标题】:Allowing users to SSH into EC2 Linux Instance with key pairs允许用户使用密钥对通过 SSH 连接到 EC2 Linux 实例
【发布时间】:2015-03-14 16:52:33
【问题描述】:

我创建了一个新的 EC2 Amazon Linux 实例。我想允许开发人员通过 SSH 连接到 EC2 实例。为了测试这一点,我正在我的 Windows 计算机上进行尝试。我已按照以下链接中的说明进行操作,但无法使用我生成的密钥对进行 SSH (Putty) 连接。

我按照reference 此处的说明进行操作 和here

使用 FireSSH 和 AWS 生成的 pem 以 ec2-user 身份登录 EC2 后,我使用 SSH 运行以下命令来创建新用户、.ssh 目录和权限。

[ec2-user ~]$ sudo adduser newuser

[ec2-user ~]$ sudo su - newuser

[newuser ~]$ mkdir .ssh

[newuser ~]$ touch .ssh/authorized_keys

[newuser ~]$ chmod 600 .ssh/authorized_keys

[newuser ~]$ vim .ssh/authorized_keys

然后我使用vim 将公钥粘贴到authorized_keys。我将在下一步解释我从哪里获得公钥。

ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuS .... 

要创建我在上一步中粘贴的公钥,我按照本参考资料中的步骤从 "Generating an SSH Key" 开始

我从 PuttyKeyGen 复制了公钥,该公钥显示在标有“用于粘贴到 OpenSSH 授权密钥的公钥”的框中。然后我将它粘贴到我的 EC2 实例上的 newuser 目录中的 .ssh/authorized_keys 文件中。

我从 EC2 上的 SSH 客户端注销。然后我尝试使用我的 Windows 机器上新创建的私钥使用 Putty 登录。我使用newuser 登录名。我在 Putty 中收到此错误:server refused our key。还有一个对话框,上面写着Disconnected: No supported authentication methods available {server sent: publickey)

我在这些步骤中做错了什么?

【问题讨论】:

    标签: linux amazon-web-services ssh amazon-ec2 putty


    【解决方案1】:

    我做了两件不同的事情,现在可以了。这可能是它工作的位数。

    我使用 PuttyGen 生成了一个新的密钥对,但我使用 1024 位指定了 SSH-2 RSA,而不是 PuttyGen 放入的默认值,例如 2048

    当我使用 SSH 重新登录 EC2 时,我使用 nano 而不是 vim 粘贴了公钥。

    【讨论】:

      【解决方案2】:

      始终使用 ec2-import-keypair 功能来验证它是否适用于 EC2 实例。如果导入有效,那就很好,否则,重新生成合规密钥对。如果你只是复制一个不合规的密钥对,你会遇到麻烦。

      这是import key pair的文档

      • OpenSSH 公钥格式(~/.ssh/authorized_keys 中的格式)
      • Base64 编码的 DER 格式 SSH 公钥文件格式,在
      • 中指定
      • RFC4716 DSA 密钥不受支持。确保您的密钥生成器是 设置为创建 RSA 密钥。

      • 支持的长度:1024、2048 和 4096

      【讨论】:

        猜你喜欢
        • 2019-02-26
        • 2012-01-10
        • 2012-07-01
        • 2011-02-01
        • 1970-01-01
        • 2011-10-30
        • 1970-01-01
        • 1970-01-01
        • 2014-11-28
        相关资源
        最近更新 更多