我在 Amazon AWS 上创建了一个实例并为其提供了一个密钥。当它启动时,我ec2-user
使用该密钥通过 SSH 进入该实例,但我无法以 身份运行任何内容root
。如果我输入,sudo su
它会要求我输入密码。
它是一个 Amazon Linux 2016.03 实例。
答案1
这...不是默认 AMI 应该发生的事情。
为了验证,我刚刚使用相同的图像启动了一个实例,并且没有遇到sudo su
任何问题。
如果这确实是您刚刚启动的一个全新实例,请尝试重新配置;如果不是,那么对不起朋友,但不知何故您设法将自己锁定在外;root 帐户没有密码;以下是的默认sudoers
配置ec2-user
。
ec2-user ALL=(ALL) NOPASSWD:ALL
我的连接
[531] ~ > ssh -i ~/.ssh/mclark.pem [email protected]
Last login: Mon Apr 11 22:21:37 2016 from c-aaa-bbb-ccc-ddd.hsd1.ma.comcast.net
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-ami/2016.03-release-notes/
4 package(s) needed for security, out of 6 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-172-31-54-235 ~]$ sudo su
[root@ip-172-31-54-235 ec2-user]# cat /etc/sudoers.d/cloud-init
ec2-user ALL = NOPASSWD: ALL
# User rules for ec2-user
ec2-user ALL=(ALL) NOPASSWD:ALL
[root@ip-172-31-54-235 ec2-user]#
答案2
我弄清楚了为什么它不让我切换到 root。我会在这里发布它,以便其他可能遇到类似问题的人可以参考,而不是删除这个问题。
我正在使用 Amazon OpsWorks 并指定了一个用户管理 Chef 手册,这显然要求我设置 sudoers,但默认情况下它是空的。