2012-04-23 122 views
29

我是一个新手,亚马逊网络服务,试图推出Amazon实例和ssh它使用腻子从窗户。这些是我遵循的步骤,SSH到Amazon EC2实例在Windows中使用腻子

  1. 创建密钥对。

  2. 创建安全组与SSH和HTTP规则。

  3. 推出,并且使用上述密钥对和安全组EC2的实例。

  4. 使用PuTTYgen转换的* .PEM文件为* .ppk

  5. 使用腻子试图连接到该实例的公共DNS和提供的* .ppk文件。

我登录使用“根”和“EC2用户”,并创建了使用SSH1及SSH2的PPK文件,所有这些尝试,我得到腻子以下错误,

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

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

+1

是AMI您使用哪种操作系统? – Geoff 2012-04-23 20:06:48

+0

@Geoff:谢谢!我使用的是amzn-ami-2011.09.1.x86_64-ebs(ami-7341831a),其中提到了Amazon Linux平台。 – konkani 2012-04-23 20:14:57

+2

如果您使用亚马逊Linux,那么您应该使用'ec2-user'来登录--' root'将无法工作。但你也已经尝试过'ec2-user'。你确定这个实例被配置为使用这个密钥对吗?并且您正在为您的实例连接到正确的弹性IP地址或AWS公共DNS? – Daan 2012-04-23 21:52:54

回答

0

我假设你以下this guide的,并且使用了subsequent page的指示连接。验证一些事情:

  1. 您正确地转换了密钥,例如,选择了正确的.pem文件,保存为私人键,1024位SSH-2 RSA
  2. 的身份验证设置(在连接教程步骤4)正确
1

也许值得一试一件事的。转到AWS控制台,右键单击实例并选择“连接...”。它会显示你想使用的DNS名称。如果您在某个时候重新启动了该实例,则该DNS名称可能已更改。

10

1)请确保您有端口22(SSH)的EC2实例的安全组打开。

2)尝试连接Elastic IP而不是公共DNS名称。

我希望你能遵循这些步骤Connecting EC2 from a Windows Machine Using PuTTY

+0

连接弹性IP地址在我的情况下工作。创建并关联IP地址后,我失去了访问权限。谢谢! – linuxeasy 2014-04-19 16:27:21

+0

他说问题是身份验证,而不是DNS解析或防火墙。 – 2014-07-03 01:37:15

0

尝试另一种SSH客户端,像Poderosa。它接受pem文件,所以你不需要转换密钥文件。

+0

我试过了,我得到“错误的密钥格式” – cawecoy 2013-06-27 20:39:52

+0

Poderosa需要原始的PEM文件,但通过的puttygen – Barak 2013-06-28 09:45:11

+0

Poderosa创建的转换需要一个原始的PEM文件,而不是转换一个通过的puttygen – Barak 2013-06-30 09:44:16

32

我假设OP计算出了这个结果,或者以其他方式移动,但答案是使用ubuntu作为用户(如果服务器是Ubuntu的话)。

+0

生成,这是真棒。没有涵盖我找到的任何明显的位置。 – Rig 2013-10-26 22:38:52

+0

辉煌:-)两年后,亚马逊文档仍未更新,并且表示用户对所有亚马逊Linux AMI都是“ec2-user”。即使OP继续前进,我也会合理地接受这个答案。 – Jason 2014-04-29 12:46:16

+0

对于Ubuntu以上是答案谢谢。 – Nirus 2014-05-26 19:48:33

0

我有这个相同的问题。您正在使用的AMI也是“Cloud Formation”模板解决方案所使用的AMI。

最后我放弃了这一点,并创建了一个红帽实例。然后我可以使用用户root通过SSH进行连接。

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

希望能帮助别人!

+0

更新:我自此创建了一个“云形成”设置,并且SSH已经很好。这次我使用了允许您指定密钥对的模板。许多库存模板不允许这样做,因为您似乎无法在创建后添加密钥对,这意味着您永远无法使用SSH。 – Coder 2013-04-12 11:43:59

1

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

但是,这会终止正在运行的实例,并通过上面指定的密钥对通过访问来重建新实例。

0

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

0

当我尝试创建新的密钥对并试图使用新的pem/ppk文件时,我遇到了同样的错误。我注意到该实例上的密钥对名称字段仍然是旧的,并且正在撬动。显然,你can't change密钥对。所以我回到原来的密钥对。幸运的是,我没有删除任何东西,所以这很容易。

1

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

+0

什么解决了错误? – Rayon 2016-07-18 07:20:14

1

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

+1

不错,你也完成了我的查询 – 2015-05-03 17:20:42

+0

谢谢,你的回答对我有用 – 2018-01-16 09:46:52

4

另一种情况下,我得到了当使用腻子,从窗户,ssh到一个EC2实例上运行Ubuntu的“服务器拒绝了我们的关键”的错误:

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

的puttygen具有 “转换键” 两个选项。

  1. 加载您的.pem文件到使用文件 - >装入专用密钥选项,然后使用保存私钥按钮保存为.ppk文件的puttygen。
  2. 不要使用菜单选项Conversions->导入密钥加载通过EC2生成的.pem文件。

    见的puttygen截图下方,标志着两个菜单选项。

Correct menu option with puttygenWring menu option with puttygen