通过SSH连接到EC2服务器会出错请以ec2-user用户而不是root用户身份登录

Tom*_*Tom 56 ssh amazon-ec2

问题为标题.为什么这样,我使用了ssh命令:ssh -i mykey.pem root@xxx-xxx-xx-xx-xxx.compute-1.amazonaws.com但是我得到了这个错误,在谷歌上找不到任何东西.我究竟做错了什么?

Til*_*ill 79

ec2-user按照Klaus的建议登录:

ssh -i key.pem ec2-user@host
Run Code Online (Sandbox Code Playgroud)

...然后你sudo用来运行命令.例如,要编辑/etc/hostsroot拥有的文件并需要root权限:sudo nano /etc/hosts.

或者你跑去sudo su成为root用户.

  • 亚马逊文档中哪里写到了这一点?在那里找不到任何信息。 (2认同)

Jua*_*dez 64

默认情况下,root不允许用户登录,但您可以ec2-user按其他人的指示使用.

登录后,ec2-user切换到root并更改SSH配置.

要成为您运行的root用户:

sudo su -
Run Code Online (Sandbox Code Playgroud)

编辑SSH守护程序配置文件/etc/ssh/sshd_config,例如使用vi,并PermitRootLogin使用以下内容替换该条目:

PermitRootLogin without-password
Run Code Online (Sandbox Code Playgroud)

通过运行以下命令重新加载SSH守护程序配置:

/etc/init.d/sshd reload
Run Code Online (Sandbox Code Playgroud)

Please login as the ec2-user user rather than root user.显示该消息是因为使用私钥登录时将执行命令.删除该命令编辑~/.ssh/authorized_keys文件并删除该command选项.该行应以密钥类型(例如ssh-rsa)开头.

(*)自担风险.我建议您始终打开控制台,以防万一您在进行配置更改后无法登录.

供参考,您可以阅读手册页:

man sshd_config
man sshd
Run Code Online (Sandbox Code Playgroud)

  • +1建议让控制台打开:) (11认同)

brn*_*792 11

我在Amazon ec2上设置hadoop集群时遇到了类似的问题.

我的头节点需要对每个工作者/从属节点具有root ssh访问权限.我通过将每个从属节点的IP地址,私有地址和别名添加到/etc/hosts/文件来使连接别名.(我通过运行以下命令获得这些数据echo -e "`hostname -i`\t`hostname -f`\talias-name"在那里alias-name就是我所说的每一个节点(headn1例如).然后我把输出中的每个节点的每个节点上/etc/hosts的文件.

我遇到的问题是,当我在头节点输入ssh n1 ssh到我的第一个从节点时,我得到了同样的错误信息:Please login as the use "ec2-user" rather than the user "root". 所以在做了一些研究后,我想出了如何解决它.

第一:

  • ssh到你的服务器.非根(ec2用户)访问在这里很好.
  • 然后 su -你的方式进入root.现在vi /etc/ssh/sshd_config,取消对该行的评论PermitRootLogin yes.
  • 退出vi编辑器.
  • 现在键入service sshd stop然后重新启动ssh守护程序service sshd start.

第二:

  • 现在,这是我必须挖掘的部分,
  • vi /root/.ssh/authorized_keys
  • 注释掉所有内容ssh-rsa.只需#在文件内容的开头放置一个,然后按no-port-forwarding...然后按Enter ssh-rsa键将其移动到下一行(这样你就不必删除任何内容,以防你想要回溯).
  • 退出vi编辑

现在,您应该能够登录到root,而不会弹出该错误消息.

此外,如果您使用别名进行群集设置; 在每个节点上重复相同的步骤.首先使用ec2-user ssh然后按照步骤操作.在将IP地址,私有地址和别名信息添加到/etc/hosts文件后,您应该能够使用别名来ssh到每个节点的根目录中ssh n1.

我遵循的教程如下:https://www.youtube.com/watch?v = xrxQXfE7t9A

但它没有用root登录讨论这个问题.

希望有所帮助!它对我有用.

*请记住,我曾担心任何安全问题.这只是一个练习/开发设置.


Kla*_*sen 8

我想这只是要求您使用其他用户名登录.你碰巧有一个用户叫ec2-user吗?如果是这样,请尝试以下方法:

ssh -i mykey.pem ec2-user@xxx-xxx-xx-xx-xxx.compute-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)