首页 文章

在Windows中使用Putty SSH到Amazon EC2实例

提问于
浏览
30

我是亚马逊网络服务的新手,正在尝试使用Windows中的putty启动一个亚马逊实例和ssh . 这些是我遵循的步骤,

  • 创建了密钥对 .

  • 使用SSH和HTTP规则创建安全组 .

  • 使用上述密钥对和安全组启动EC2实例 .

  • 使用puttygen将* .pem文件转换为* .ppk

  • 使用putty尝试连接到实例的公共dns并提供* .ppk文件 .

我使用'root'和'ec2-user'登录,并使用SSH1和SSH2创建了ppk文件,因为所有这些尝试我在putty中得到以下错误,

“服务器拒绝我们的钥匙”

你们可以请帮助,任何建议将不胜感激 .

13 回答

  • 0

    当我尝试创建一个新密钥对并尝试使用新的pem / ppk文件时,我遇到了同样的错误 . 我注意到实例上的密钥对名称字段仍然是旧的并且在四处寻找 . 显然,你是一对钥匙 . 所以我回到原来的密钥对 . 幸运的是,我没有删除任何内容,所以这很容易足够 .

  • 0

    尝试替代SSH客户端,例如Poderosa . 它接受pem文件,因此您不需要转换密钥文件 .

  • 0

    我假设OP想出了这个或以其他方式继续前进,但答案是使用 ubuntu 作为用户(如果服务器是ubuntu) .

  • 1

    1)确保在EC2实例的安全组中打开了端口22(SSH) .

    2)尝试使用Elastic IP而不是公共DNS名称进行连接 .

    我希望你已经按照这些步骤Connecting EC2 from a Windows Machine Using PuTTY

  • 0

    在使用putty,从windows到ssh到运行ubuntu的EC2实例时,我收到“服务器拒绝我们的密钥”错误的另一种情况:

    私钥被错误地从.pem转换为.ppk .

    puttygen有两个“转换键”选项 .

    • 使用 File->Load Private Key 选项将.pem文件加载到puttygen中,然后使用 Save Private Key 按钮保存为.ppk文件 .

    • DO NOT 使用菜单选项 Conversions->Import Key 加载EC2生成的.pem文件 .

    请参阅下面的puttygen屏幕截图,标记了两个菜单选项 .

    Correct menu option with puttygen

    Wring menu option with puttygen

  • 1

    检查用户名,你的机器应该是“ubuntu” . 检查安全组中端口22上是否启用了流量 . 检查您是否使用了正确的URL,即ubuntu @public / elasticip

  • 10

    也许值得再检查一件事 . 转到AWS控制台,在实例上单击鼠标右键,然后选择“连接...” . 它将显示您要使用的DNS名称 . 如果您在某个时刻重新启动该实例,则该DNS名称可能已更改 .

  • 2

    当我尝试连接由Elastic Beanstalk服务(EBS)自动创建的实例时,我遇到了类似的问题 . 但是,一旦我将现有的密钥名称链接到EBS(在环境详细信息 - >编辑配置 - >服务器选项卡 - >现有密钥对)下,我就可以使用'ec2-user'和我现有的密钥文件登录(转换为.ppk)用腻子 .

    但是,这会终止正在运行的实例,并通过上面指定的密钥对重建一个具有访问权限的新实例 .

  • 1

    为了防止其他人,我在更改我的实例中的主文件夹的权限后遇到此错误 . 我正在测试一些东西,并在我的主文件夹上执行了chmod -R 777 . 一旦发生这种情况,一旦我退出,我就被锁定了 .

  • 0

    我假设您正在关注this guide,并使用subsequent page上的说明进行连接 . 验证一些事情:

    • 您正确转换了密钥,例如选择了正确的.pem文件,保存为私钥,1024位SSH-2 RSA

    • 验证设置(连接教程中的步骤4)是正确的

  • 31

    我遇到了同样的麻烦(并采取了相同的步骤),直到我将用户名更改为'admin'为我正在使用的debian AMI .

    您应该查找您正在使用的AMI的用户名 . 这里记录了debian AMI http://wiki.debian.org/Cloud/AmazonEC2Image/Squeeze

  • 4

    我遇到过同样的问题 . 您正在使用的AMI也是“Cloud Formation”模板解决方案所使用的AMI .

    最后我放弃了,并创建了一个Red Hat实例 . 然后,我可以使用用户 root 通过SSH连接 .

    这里的说明:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html使用Red Hat实例但没有使用Amazon Linux实例正常工作 . 我假设他们有一些我认为不会尝试的用户名(root,ec2-user和许多其他明显的用户名,都被拒绝了)

    希望有人帮助!

  • 0

    我使用Debain AMI,我尝试ec2-user,root但正确的登录是'admin' .

相关问题