Ответ 1
Используйте настоящий SSH-клиент, например PuTTY, а не WinSCP, клиент передачи файлов. Все ваши проблемы исчезнут.
Эта проблема прослушивала меня в течение последних нескольких дней.
Я работал над настройкой 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. У меня тоже нет. Просто мне нужен новый образ?
Любая помощь будет принята с благодарностью...
Используйте настоящий SSH-клиент, например PuTTY, а не WinSCP, клиент передачи файлов. Все ваши проблемы исчезнут.
Я просто попробовал
$ sudo su
на одном из твоих амисов и вуаля! Я корень...
Удачи!
[[email protected] ~]$ sudo su
[[email protected] ec2-user]#
Для Debian или Ubuntu ec2: 1. Получить привилегии root через putty
sudo su
sudo passwd root
Войдите в систему, запустив ее как root
Отредактируйте файл /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
В том же файле измените следующее, как показано ниже:
PermitRootLogin yes
#PasswordAuthentication no
Перезапустить ssh
service ssh restart
Войдите в систему под учетной записью root с паролем из WinSCP
* Я рекомендую создать резервную копию файла sshd_config перед редактированием, а затем вернуться к оригиналу, когда закончите.
(Отчет об ошибке?) Это мой журнал экземпляра 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]#
Файл:
/и т.д. /sudoers
имеет прямую
Значение по умолчанию
Комментарий об этом, вероятно, приведет к ошибке.
Сначала я попытался бы понять, почему что-то в твоем юме команда больше не имеет tty.
Изменение файла, связанного с безопасностью, например /etc/sudoers потенциально опасно.
Вам нужно отредактировать файл sshd_config, чтобы разрешить доступ на основе пароля
И вам нужно добавить пароль для пользователя root.
Просто выполните шаги, sudo passwd root sudo nano -w/etc/ssh/sshd_config
Раскомментировать/Добавить следующую строку PasswordAuthentication yes