Amazon web services SSH EC2请求密码
我刚刚按照这个视频在这里设置了我的EC2服务器- 我甚至选择了相同的服务器类型,一切都很顺利,直到它向我的EC2服务器请求根密码Amazon web services SSH EC2请求密码,amazon-web-services,amazon-ec2,ssh,root,Amazon Web Services,Amazon Ec2,Ssh,Root,我刚刚按照这个视频在这里设置了我的EC2服务器- 我甚至选择了相同的服务器类型,一切都很顺利,直到它向我的EC2服务器请求根密码 有什么建议吗?您应该使用*.pem而不是root密码。登录后,使用passwd设置密码。当您在sshd\u配置中启用PasswordAuthentication yes时,系统将询问您密码。试着把它改成“否”,这样就可以解决问题了 仅适用于可能有相同问题的其他人更新 由于活动原因,正在更新此答案: 根据系统是ubuntu还是Rhel,用户会有所不同 对于ubuntu来
有什么建议吗?您应该使用*.pem而不是root密码。登录后,使用
passwd
设置密码。当您在sshd\u配置中启用PasswordAuthentication yes
时,系统将询问您密码。试着把它改成“否”,这样就可以解决问题了
仅适用于可能有相同问题的其他人更新
由于活动原因,正在更新此答案:
根据系统是ubuntu还是Rhel,用户会有所不同
对于ubuntu来说就是这样
ssh -i my-pem-file.pem ubuntu@my-ec2-instance-address
对莱尔来说是这样
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之前
chmod 400
您的pem文件如果您作为ec2用户进入后需要作为root用户进行操作,请使用sudo su
-这可以让您进入root,而不需要密码。有些事情确实需要这样做,例如查看tomcat日志文件。如果您从另一台机器移动/复制了pem文件,则文件的所有者可能与运行ssh客户端的用户不同。要更改文件的所有者,请执行以下操作:
sudo chown <currentusername> <filename.pem>
sudo chown
这可能是一个错误。
但也有可能是您使用了错误的地址/密钥(您启动了一个新实例,但仍然使用旧地址;或者两个pem的名称相似,但使用了错误的地址)。我也遇到了同样的问题,经过很多努力,我再次阅读了此页: 注意,在第四个主题中,它谈到了用户名。它通常是
ec2用户
,但是如果您使用的是RHEL5发行版,它可以是root
,如果您使用的是Ubuntu,用户名将是Ubuntu
——这就是我的情况
因此,不妨试试这些:
ssh-i my-pem-file.pemubuntu@my-Ubuntu的ec2实例地址
或
ssh-i my-pem-file.pemroot@my-RHEL5的ec2实例地址
希望有帮助 我正在使用TurboLinux实例,在Mac OS系统上,请尝试以下命令: ssh-ixxxxx.pemroot@xxx.xxx.xxx.xxx(已分配虚拟机的公共广播)
我不需要再问密码就可以通过。如果其他人碰到这个问题,我的问题的解决方案是我必须用
sudo
运行它:
sudo ssh -i my-pem-file.pem root@my-ec2-instance-address
或
AWS AMIs默认情况下禁止根访问
希望有帮助。对我来说,问题是我已经从一个现有实例创建了一个AMI,所以当我启动AMI时,即使我选择了一个新的键,实例的原始键仍然有效。在我的例子中,问题是文件的中断类型。试试这个: 1.-使用TextWrangler打开.pem文件 2.-在应用程序底部,验证中断类型是否为“Windows(CRLF)”
关于在我的例子中,我们复制了一个文本文件来保存一个无处不在的密钥。有人不小心将字符添加到此文件中,我们开始从现在已损坏的.pem文件中获取密码提示,而我们从未设置密码 就这么做吧
sudo su -
为我工作请在生成密钥时使用--查询“KeyMaterial”
信息:
keyMaterial-未加密的PEM编码RSA私钥。这是连接的方式:
ssh -i /path/my-key-pair.pem ec2-user@public-ip
现在,它可以是root用户、centos用户、ubuntu用户或其他用户,而不是ec2用户。您可以在“使用说明”下进行检查。如果没有,并且您已经尝试了上述所有用户,请从AMI附带的文档中查找
AWS上有一个bug花费了我很多时间。如果您是从“Images>AMIs”下保存的AMI启动实例,请注意,它使用创建它的运行实例的原始键。当启动AMI时,它会提示您选择一个新密钥,甚至在描述下显示这样的密钥,但事实是这些密钥永远不会工作
因此,如果您使用的是自定义/保存的AMI,您必须获取原始密钥并使用它们,或者从AWS或市场创建一个全新的密钥。如果您还没有创建AMI或者不记得它来自哪里,请查看details选项卡下的内容。然后,您可以启动一个新实例或从同一源创建一个新AMI。然后将使用您指定的密钥。检查您的.pem文件是否损坏。用这条线
openssl rsa -check -in test.pem -noout
它应该返回RSA密钥OK。如果没有,那么您的pem文件中很可能存在某种格式问题或其他问题。我正在使用pem文件,但它仍然要求输入密码?除非尝试在另一台计算机上使用pem进行ssh,否则很重要?如果使用*pem,默认情况下不会要求输入密码。尝试在ssh命令中将用户指定为“ec2 user”或“root”。您使用的客户端和客户端操作系统是什么?你有没有限制ec2只能访问某些IP?我没有,或者我不认为我有,我只是完全按照那个视频。我在ec2用户上试过root…我正在使用ubuntu,只是terminalssh-I my.pem ec2-user@myip.comI以
root
身份登录时出现相同问题,但映像配置为登录名应为ubuntu
。当前的CentOS AMI还需要ssh用户名root
。这与许多EC2信息背道而驰,这些信息暗示用户名通常或总是EC2 user
。感谢您的建议,它帮助了很多。CoreOS的用户名是为我工作的core
chmod 600
,而不是400
。使用Windows 7,我想这是由于一种奇怪的行为:PI会在Windows上使用PuTTY。PuTTY抛出“无私钥”错误:-(我尝试了每一种具有位数的密钥排列。现在您已经指出,可能问题只在于用户权限。我将验证并让您知道
ssh -i /path/my-key-pair.pem ec2-user@public-ip
openssl rsa -check -in test.pem -noout