在AWS的EC2服务器上创建root用户密码,并使用root用户登录
今天开始研究亚马逊的云主机EC2,遇到了一个问题,我需要在EC2上安装一些Web软件时,但是执行一些命令只能是root权限才可以运行,而EC2默认不是通过root用户登录的,所以需要需要创建新的root密码并切换到root帐号
1、根据官网提供的方法登录连接到EC2服务器(官网推荐windows用户使用PUTTY连接)
2、 创建root的密码,输入如下命令:
sudo passwd root
3、然后会提示你输入new password。输入一个你要设置的root的密码,需要你再输入一遍进行验证。
4、接下来,切换到root身份,输入如下命令:
su root
5、使用root身份编辑亚马逊云主机的ssh登录方式,找到 PasswordAuthentication no,把no改成yes。输入:
vim /etc/ssh/sshd_config
6、接下来,要重新启动下sshd,如下命令:
sudo /sbin/service sshd restart
7、然后再切换到root身份
su root
8、再为原来的”ec2-user”添加登录密码。如下命令:
passwd ec2-user
按提示,两次输入密码。到此可以用root身份直接登录EC2的服务器了。
以上是早些年找到的内容,不过对于现在的系统来说,该方法行不通了,ec2-user连sudo权限都没有。
在网上又找了些资料,整理如下:
对于基于 Amazon Linux AMI 或 CentOS/RHEL 的实例
-
登录到你的 EC2 实例:
使用 SSH 登录到你的 EC2 实例。例如:
ssh ec2-user@your-ec2-instance-public-dns -
切换到 root 用户:
首先,你可以切换到 root 用户来执行后续操作。使用以下命令:
sudo -i -
编辑 sudoers 文件:
使用你喜欢的文本编辑器(例如 vim 或 nano)编辑
/etc/sudoers文件。例如,使用visudo命令(这是一个更安全的编辑 sudoers 文件的方法,因为它会检查语法错误):visudo
-
添加 ec2-user 到 sudo 组:
在
visudo编辑器中,找到以下行(可能位于文件的不同部分):## Allow root to run any commands anywhere root ALL=(ALL) ALL在下面添加一行,以允许
ec2-user使用 sudo:ec2-user ALL=(ALL) ALL
保存并关闭编辑器。
-
测试 sudo 权限:
切换回
ec2-user并尝试使用 sudo 命令:exit # 退出 root 用户回到 ec2-user sudo whoami
如果返回root,则说明配置成功了。

浙公网安备 33010602011771号