在 Windows/Cygwin 上配置 AWS SSH 密钥

Configuring AWS SSH keys on Windows/Cygwin

我在 Windows 7 上安装了 Cygwin,并使用它通过 SSH 连接到各种机器。

我刚刚创建了一个 AWS 账户并为我的免费套餐实例生成了 public/private 个密钥。我下载了一个 PEM 文件(私钥),现在正尝试使用它通过 SSH 连接到节点。根据 AMIs 文档,我使用的 AMI 不使用密码并且 100% 依赖 SSH,如下所示:ssh core@blah.example.com.

这意味着我需要 PEM 文件 "installed properly",但我不确定如何执行此操作,尤其是在 Windows/Cygwin 堆栈上。在 ~/.ssh 下,我看到以下内容:

C:/Users/myuser/.ssh/
    id_rsa
    id_rsa.pub
    known_hosts

我试过简单地将 PEM 文件复制到 .ssh/,但这不起作用。有什么想法吗?

我不知道 cygwin 是否使用与 linux 相同的客户端,但您的问题中缺少许多内容。但我会给你一些建议。

您收到的错误消息是什么让您认为将文件复制到 .ssh 无效?我猜你需要对 .pem 文件的正确权限 - .ssh 目录应该是 700,pem 文件应该是 600。ls -la ~/.ssh 是什么样子的?无论如何,尝试:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/*pem

接下来,您必须确保使用正确的用户登录:

ssh -i ~/.ssh/whatever.pem username@ec2-ip-or-hostname

用户名会因AMI而异——例如Amazon Linux AMI使用ec2-user,而一些老的RedHat AMI仍然使用root,我认为ubuntu使用ubuntu@

最后,您必须确保分配给实例的安全组已向您的 IP 地址开放端口 22。