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

SSHing на сервер EC2 через дает ошибку Пожалуйста, войдите в систему как пользователь пользователя ec2, а не пользователь root

Вопрос как заголовок. Почему это, я использовал команду ssh: ssh -i mykey.pem [email protected] Но я получаю эту ошибку, ничего не нахожу в google. Что я делаю неправильно?

4b9b3361

Ответ 1

Вы вошли в систему как ec2-user, как предложил Клаус:

ssh -i key.pem [email protected]

... и затем вы используете sudo для запуска команд. Например, для редактирования файла /etc/hosts, который принадлежит root, и для него требуются привилегии root: sudo nano /etc/hosts.

Или вы запустите sudo su, чтобы стать пользователем root.

Ответ 2

По умолчанию root пользователь не может войти в систему, но вы можете использовать ec2-user, как указано другими.

После входа в систему с помощью ec2-user вы переключаетесь на root и изменяете конфигурацию SSH.

Чтобы стать пользователем root, вы запустите:

sudo su -

Отредактируйте файл конфигурации демона SSH /etc/ssh/sshd_config, например. используя vi, и замените запись PermitRootLogin следующим текстом:

PermitRootLogin without-password

Перезагрузите конфигурацию демона SSH, выполнив:

/etc/init.d/sshd reload

Отображается сообщение Please login as the ec2-user user rather than root user., потому что команда выполняется при входе в систему с закрытым ключом. Чтобы удалить эту команду, отредактируйте файл ~/.ssh/authorized_keys и удалите параметр command. Строка должна начинаться с типа ключа (например, ssh-rsa).

(*) Сделайте на свой страх и риск. Я рекомендую вам всегда открывать консоль на всякий случай, если вы не сможете войти в систему после внесения изменений в конфигурацию.

Для справки вы можете прочитать страницы руководства:

man sshd_config
man sshd

Ответ 3

Я столкнулся с аналогичной проблемой при настройке кластера hadoop на Amazon ec2.

Моя голова node должна иметь root ssh доступ к каждому рабочему/подчиненному узлам. Я подключил соединения, добавив в /etc/hosts/ каждый подчиненный node IP-адрес, частный адрес и псевдоним. (Я получаю эти данные, запустив команду echo -e "`hostname -i`\t`hostname -f`\talias-name", где alias-name - это то, что я называю каждый node (head или n1 например). Затем я помещаю этот вывод для каждого node в каждый node /etc/hosts.

Проблема, с которой я столкнулся, заключается в том, что когда я печатаю ssh n1, находясь в моей голове node, в ssh в мое первое подчиненное node, я получаю такое же сообщение об ошибке: Please login as the use "ec2-user" rather than the user "root". Поэтому, после некоторых исследований, я выяснил, как это исправить.

Сначала:

  • ssh на ваш сервер. доступ к не-root (ec2-user) здесь прекрасен.
  • Затем su - ваш путь в root. Теперь vi /etc/ssh/sshd_config и un-comment строка PermitRootLogin yes.
  • Выйти из редактора vi.
  • Теперь перезапустите демон ssh, набрав service sshd stop, затем service sshd start.

Второй:

  • Теперь, вот часть, которую мне пришлось копать,
  • run vi /root/.ssh/authorized_keys
  • Комментируйте все до ssh-rsa. Просто положите # в начале содержимого файла, до no-port-forwarding... и нажмите enter на ssh-rsa, чтобы переместить его на следующей строки (таким образом вам не нужно ничего удалять, если вы хочу отступить).
  • exit vi editor

Теперь вы можете войти в систему root без появления сообщения об ошибке.

Кроме того, если вы используете псевдонимы для настройки кластера; Повторите те же шаги для каждого node. Сначала ssh в использовании пользователя ec2, выполните следующие действия. После добавления IP-адреса, частного адреса и информации псевдонима в файл /etc/hosts вы можете использовать ssh для каждого корня node, используя имя псевдонима, например ssh n1.

Следующее учебное пособие приведено здесь: https://www.youtube.com/watch?v=xrxQXfE7t9A

Но он не обсуждал проблему с корневым входом.

Надеюсь, что это поможет! Это сработало для меня.

* Имейте в виду, что я не беспокоился о безопасности. Это просто практика /dev setup.

Ответ 4

Я думаю, что он просто просит вас войти в систему с другим именем пользователя. У вас появился пользователь под названием ec2-user? Если да, попробуйте это вместо:

ssh -i mykey.pem [email protected]

Ответ 5

Измените/etc/ssh/sshd_config и убедитесь, что это установлено:

PasswordAuthentication yes

Затем перезагрузите SSH:

systemctl reload sshd.service

Теперь вы можете войти в систему как пользователи, отличные от пользователя ec2.