amazon ec2 sudoers 文件 - ubuntu 用户要求输入密码

Posted

技术标签:

【中文标题】amazon ec2 sudoers 文件 - ubuntu 用户要求输入密码【英文标题】:amazon ec2 sudoers file - ubuntu user asking for password 【发布时间】:2013-05-05 07:09:40 【问题描述】:

我对 EC2 非常陌生,今天我已经在免费套餐下设置了所有内容。所以,我使用(假设默认用户ubuntu)登录到我的ec2:

ssh -i ~/.ssh/mykeypaid.pem ubuntu@<my ip address>

现在,我已将我的 sudoers 文件编辑如下:

ubuntu ALL=(ALL:ALL) ALL

然后修改/etc/ssh/sshd_config如下:

Protocol 2
PermitRootLogin no
AuthorizedKeysFile  %h/.ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no

现在,当我尝试通过 ssh 重新登录并尝试:

sudo su -

我被要求输入一个 ubuntu 密码 - 我真的没有。 我一直在尝试遵循here 的指示,但我不确定他说的是什么意思:

Edit your ~/.ssh/authorized_keys and put your public key inside it. Make sure you can login without a password now once your key is in place.

我应该在 ~/.ssh/authorized_keys 中包含什么公钥?当我查看~/.ssh/authorized_keys 时,我已经看到以

开头的键
ssh-rsa .....

如果有任何建议对此进行排序,我将不胜感激。现在,我无法返回 sudoers 文件 - 因为它要求我输入 ubuntu 的密码,我认为这很奇怪(?)

我应该终止我的实例并重新开始吗?谢谢。

【问题讨论】:

【参考方案1】:

我已按如下方式编辑了我的 sudoers 文件: ubuntu 全部=(全部:全部)全部

无需在 Ubuntu EC2 实例上编辑 sudoers。它已经在/etc/sudoers.d/90-cloudimg-ubuntu 中设置了无密码 sudo

我应该终止我的实例并重新开始吗?

是的,根据您所说的,我建议从一个新实例开始。通过编辑 sudoers 文件以要求为没有密码的帐户输入密码,您实际上已将自己锁定在外。 (我写过一篇描述 how to recover from a broken sudoers 的文章,但在你的情况下,重新开始要容易得多。

我应该在 ~/.ssh/authorized_keys 中包含什么公钥?

您可以简单地将authorized_keys 单独留下,并使用您在运行实例时指定的 ssh 密钥,以与最初相同的方式进行 ssh。或者,您可以添加任何其他想要授予访问权限的 ssh 密钥,就像在管理 Linux 机器时一样。实例启动后,就没有任何 EC2 特定于 ssh 密钥管理的内容了。

一般来说,我建议将您的个人公共 ssh 密钥上传到 EC2,然后在启动新实例时指定该名称。这样可以更轻松地使用默认 ssh 密钥 ssh 进入新实例。这是我写的一篇文章:http://alestic.com/2010/10/ec2-ssh-keys

【讨论】:

非常感谢 Eric 提供的非常有用的见解。你是对的 - 我以某种方式将自己(我仍然不确定如何!)锁定在 sudoers 文件之外 - 刚刚终止并重新启动了实例 - 按照你的指示进行操作,现在一切正常。你在这个话题上的帖子当然很有启发性!再次感谢 - 现在接受您的回答。 我正在尝试运行需要sudo -v 的installer,但是它要求输入ubuntu AWS 用户没有的密码。请问如何运行这个? @Chris 您可能会更幸运地打开一个新问题,其中包含有关您的设置和所看到结果的更多详细信息。对于系统问题,您也可以尝试 serverfault.com

以上是关于amazon ec2 sudoers 文件 - ubuntu 用户要求输入密码的主要内容,如果未能解决你的问题,请参考以下文章

在 amazon ec2 (beanstalk) 上编辑已部署文件的权限

使用 scp 文件复制到 Amazon EC2 时停止传输 16K

使用 scp 将文件复制到 Amazon EC2 实例?

如何在 Amazon ec2 上运行 seed.rb 文件

如何将映像传输到 Amazon EBS 卷以供 EC2 使用?

Amazon 弹性文件系统策略 (EFS) - 允许通过 IAM 角色访问 EC2 实例不起作用