amazon ec2 sudoers file-пользователь ubuntu запрашивает пароль


Я очень новичок в EC2 здесь, и я установил все под свободным уровнем сегодня. Итак, я вошел в свой ec2 с помощью (предполагая, что пользователь по умолчанию ubuntu):

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, которого у меня на самом деле нет. Я пытался следовать инструкциям из здесь , но я не уверен, что он имеет в виду, когда говорит:

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 3

1 ответ:

Я отредактировал свой файл sudoers следующим образом:
ubuntu ALL=(ALL:ALL) ALL

Нет необходимости редактировать sudoers на экземплярах Ubuntu EC2. Он уже настроен для sudo без пароля в /etc/sudoers.d/90-cloudimg-ubuntu

Должен ли я завершить свой экземпляр и начать снова?

Да, основываясь на том, что вы сказали, я бы рекомендовал начать с нового экземпляра. Редактируя файл sudoers, чтобы потребовать пароль для учетной записи, которая не имеет пароля, вы эффективно заперся снаружи. (я написал статью, которая описывает , как восстановиться после сломанного sudoers, но в вашей ситуации начать все заново намного проще.)

Какой открытый ключ я должен включать в ~/.по SSH/authorized_keys?

Вы можете просто оставить authorized_keys в покое и использовать ssh таким же образом, как и в начале, используя ключ ssh, указанный при запуске экземпляра. Или, вы можете добавить любые другие ssh ключи, которые вы хотите предоставить доступ так же, как обычно это происходит при управлении коробкой Linux. Как только экземпляр запущен, в управлении ключами ssh нет ничего специфичного для EC2.

В общем, я рекомендую загрузить ваш личный открытый ssh-ключ в EC2, а затем указать это имя при запуске новых экземпляров. Это упрощает ssh-вход в новые экземпляры, используя ваш ключ ssh по умолчанию. Вот статья, которую я написал об этом: http://alestic.com/2010/10/ec2-ssh-keys