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