Подтвердить что ты не робот

Как я могу включить Root SSH Access в Amazon EC2 Instance?

Эта проблема прослушивала меня в течение последних нескольких дней.

Я работал над настройкой LAMP Server на Amazon EC2. Основная проблема заключается в том, что я пишу приложение для клиента, которому требуется много высококачественной обработки, и Amazon EC2 показался хорошим выбором.

Первоначально я начал с базового AMI, который действительно ничего не имел. Я попытался использовать root-доступ для входа в SSH (используя WinSCP), и мне сказали использовать пользователя ec2.

Я попробовал использовать ec2-user, и я смог войти в систему. Однако у меня все еще не было доступа root и не удалось установить apache. Я поступил по какой-то причине, и я узнал о команде "sudo", и почти каждая статья, которую я прочитал по этой проблеме, сказала либо для использования root-доступа, либо для входа в ec2-user и user sudo.

С тех пор я снова попробовал с другим AMI, где LAMP был уже установлен. Я смог заставить его работать, настроить базу данных и запустить веб-сайт. Однако мне еще нужно было установить некоторые расширения. А именно, API, который я пытаюсь использовать для этого приложения, требует установки SOAP.

Вот моя дилемма:

/$ whereis soap
soap:
/$ whereis yum
yum: /usr/bin/yum /etc/yum /etc/yum.conf /usr/share/man/man8/yum.8.gz
/$ yum install php-soap
Loaded plugins: fastestmirror, priorities, security
You need to be root to perform this command.
/$ sudo yum install php-soap
sudo: sorry, you must have a tty to run sudo

Command 'sudo yum install php-soap' failed with return code 1 and error message sudo: sorry, you must have a tty to run sudo

Я не могу использовать yum, потому что у меня нет доступа root, и всякий раз, когда я вхожу в root, он либо говорит мне использовать ec2-пользователя, либо предоставлять пароль, которого у меня нет. Другой альтернативой было использование sudo, чтобы заставить ec2-user действовать как root, но я всегда получаю ошибку "извините, у вас должно быть tty для запуска sudo". Я запустил это сообщение об ошибке в Интернете и, похоже, мне нужно добавить пользователя в sudoers..., с которым я не могу обойтись без доступа root.

Этот то же самое проблема преследовала меня по двум отдельным ОИМ. Сначала я получил сообщение о том, что мне нужно войти в систему как ec2-пользователь (и у меня должно быть tty для запуска sudo), а второй (с установленной LAMP) потребовал, чтобы я вводил пароль для root, а для пользователя Я получил ту же ошибку sudo.

Вот идентификатор используемого мной AMI:

ami-8c1fece5
ami-6ae81503

Я также попробовал третий AMI, который также установил LAMP... Я даже не смог попасть в этот файл.

Я загрузил свой SSH-ключ и использовал PuttyGen для преобразования его в файл ppk. Я могу войти в систему как ec2-пользователь, но я не могу получить доступ root в любом месте.

Я немного оглядывался по этому поводу, но каждая прочитанная статья предполагает, что пользователь имеет доступ к корневому доступу или доступен sudo для пользователя ec2. У меня тоже нет. Просто мне нужен новый образ?

Любая помощь будет принята с благодарностью...

4b9b3361

Ответ 1

Используйте настоящий SSH-клиент, например PuTTY, а не WinSCP, клиент передачи файлов. Все ваши проблемы исчезнут.

Ответ 2

Я просто попробовал

$ sudo su

на одном из твоих амисов и вуаля! Я корень...

Удачи!

[[email protected] ~]$ sudo su
[[email protected] ec2-user]# 

Ответ 3

Для Debian или Ubuntu ec2: 1. Получить привилегии root через putty

sudo su
sudo passwd root
  1. Войдите в систему, запустив ее как root

  2. Отредактируйте файл /etc/ssh/sshd _config и закомментируйте последний оператор HostKey или тот, который аналогичен последнему в следующем примере:

    vi /etc/ssh/sshd_config
    

Тогда

    # HostKeys for protocol version 2
    HostKey /etc/ssh/ssh_host_rsa_key
    HostKey /etc/ssh/ssh_host_dsa_key
    HostKey /etc/ssh/ssh_host_ecdsa_key
    #HostKey /etc/ssh/ssh_host_ed00000_key
  1. В том же файле измените следующее, как показано ниже:

    PermitRootLogin yes
    #PasswordAuthentication no
    
  2. Перезапустить ssh

    service ssh restart
    
  3. Войдите в систему под учетной записью root с паролем из WinSCP

* Я рекомендую создать резервную копию файла sshd_config перед редактированием, а затем вернуться к оригиналу, когда закончите.

Ответ 4

(Отчет об ошибке?) Это мой журнал экземпляра ec2, иногда sudo su не работает. Мне нужно снова выйти и ssh, чтобы он работал.

    [[email protected] ~]$ su root
    Password:
    su: incorrect password
    [[email protected] ~]$ exit
    logout
    Connection to ec2-50XXXX.compute-1.amazonaws.com closed.
    ssh -i automata.pem [email protected]
    whereis yum
    yum: /usr/bin/yum /etc/yum.conf /etc/yum /usr/share/man/man8/yum.8.gz
    [[email protected] ~]$ sudo su
    [[email protected] ec2-user]#

Ответ 5

Файл:

/и т.д. /sudoers

имеет прямую

Значение по умолчанию

Комментарий об этом, вероятно, приведет к ошибке.

Сначала я попытался бы понять, почему что-то в твоем юме команда больше не имеет tty.

Изменение файла, связанного с безопасностью, например /etc/sudoers потенциально опасно.

Ответ 6

Вам нужно отредактировать файл sshd_config, чтобы разрешить доступ на основе пароля И вам нужно добавить пароль для пользователя root. Просто выполните шаги,    sudo passwd root    sudo nano -w/etc/ssh/sshd_config Раскомментировать/Добавить следующую строку PasswordAuthentication yes