SSH EC2要求输入密码

时间:2012-03-17 06:15:29

标签: amazon-web-services amazon-ec2 ssh root

我刚刚在此视频中设置了我的EC2服务器 - http://www.youtube.com/watch?v=bBajLxeKqoY

我甚至选择了相同的服务器类型,一切顺利,直到它要求我的EC2服务器的root密码...

有什么建议吗?

17 个答案:

答案 0 :(得分:23)

更新

由于活动而更新此答案:

根据系统是ubuntu还是Rhel,用户会有所不同。

对于ubuntu,它是

ssh -i my-pem-file.pem ubuntu@my-ec2-instance-address

对于RHEL,它是

ssh -i my-pem-file.pem root@my-ec2-instance-address

连接到ec2实例不需要密码,只需要一个pem文件 这就是你连接它的方式

ssh -i my-pem-file.pem ec2-user@my-instance-address

并在ssh'ing

之前记住你的pem文件chmod 400

答案 1 :(得分:15)

如果您需要以ec2用户身份执行root操作,请使用sudo su - 这将使您成为root用户并且不需要密码。你需要的东西,比如查看tomcat日志文件

答案 2 :(得分:12)

我遇到了同样的问题,经过很多努力,我再次阅读了这个页面:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html

请注意,在第4个主题中,它讨论了用户名。它通常为ec2-user,但如果您使用的是RHEL5发行版,则可以是root如果您使用的是Ubuntu ,则用户名将为ubuntu - 这是我的情况。

所以请尝试那些:

ssh -i my-pem-file.pem ubuntu@my-ec2-instance-address代表Ubuntu

对于RHEL5

ssh -i my-pem-file.pem root@my-ec2-instance-address

希望它有所帮助!

答案 3 :(得分:3)

在sshd_config中启用PasswordAuthentication yes时,系统会要求您输入密码。尝试将其更改为否。应该解决它。

仅适用于可能遇到同样问题的其他人

答案 4 :(得分:3)

如果您从另一台计算机上移动/复制了pem文件,则该文件的所有者可能与运行ssh客户端的用户不同。要更改文件的所有者:

sudo chown <currentusername> <filename.pem>

答案 5 :(得分:3)

生成密钥时请使用--query 'KeyMaterial'

信息:

keyMaterial - 未加密的PEM编码RSA私钥。

答案 6 :(得分:3)

只做

     sudo su -

为我工作

答案 7 :(得分:2)

就我而言,我们一直在复制一个文本文件以保持无处不在的密钥。有人在这个文件中意外添加了字符,当我们从未设置过密码时,我们开始从现在已损坏的.pem文件中获取密码。

答案 8 :(得分:1)

这是连接方式:

ssh -i /path/my-key-pair.pem ec2-user@public-ip

现在,它不是ec2-user,而是root,centos或ubuntu,或其他东西。您可以在“使用说明”下查看。如果它不存在,并且您已尝试过以上所有用户,请从AMI附带的文档中找到。

AWS上有一个错误,花费了我很多时间。如果您从“图像&gt; AMI”下的已保存AMI启动实例,请注意它使用从中创建的运行实例的原始密钥。启动AMI时,它会提示您选择一个新密钥,甚至在描述下显示这样的密钥,但事实是这些密钥永远不会工作!

因此,如果您使用自定义/保存的AMI,您必须获取原始密钥并使用它们,或者只是从AWS或市场创建一个全新的密钥。如果您尚未创建AMI或无法记住AMI的来源,请查看详细信息选项卡下的内容。然后,您可以从同一源启动新实例或创建新AMI。然后,这将使用您指定的键。

答案 9 :(得分:0)

检查您的 .pem 文件是否损坏。使用这一行

openssl rsa -check -in test.pem -noout

它应该返回 RSA Key OK。如果没有,那么很可能是您的 pem 文件中的某种格式或某些内容存在问题。

答案 10 :(得分:0)

您应该使用* .pem而不是root密码。登录后,使用passwd设置密码。

答案 11 :(得分:0)

在我的情况下,问题是文件的中断类型。试试这个:

1.-使用TextWrangler打开.pem文件

2.-在app的底部,验证Break Type是否为&#34; Windows(CRLF)&#34;。

此致

答案 12 :(得分:0)

对我来说,问题是我从现有实例创建了一个AMI,所以当我启动AMI时,即使我选择了一个新密钥,该实例的原始密钥也是有用的。

答案 13 :(得分:0)

chmod 400 pem_file

ssh -i /path_to_the_pem_file ec2-user@ServerIP

ssh -i /path_to_the_pem_file ubuntu@ServerIP
AWS AMI默认禁止root访问。

希望它有所帮助。

答案 14 :(得分:0)

如果其他人碰到这个,我的问题的解决方案是我必须用sudo运行它:

sudo ssh -i my-pem-file.pem root@my-ec2-instance-address

答案 15 :(得分:0)

我在Mac OS系统上使用TurboLinux实例,请尝试以下命令:      ssh -i xxxxx.pem root@xxx.xxx.xxx.xxx(已分配VM的公共地址) 我可以不用再问密码了。

答案 16 :(得分:0)

可能是Linux problem。 但也有可能你使用了错误的地址/密钥(你启动了一个新实例,但仍然使用旧地址;或者2个pem具有相似的名称,使用了错误的地址/密钥),"ssh with non-existing user"