Как настроить SSH-доступ для экземпляра Amazon EC2?

Мне нужен SSH-доступ к экземпляру Amazon EC2 под управлением Ubuntu 10.4. У меня есть Амазонка логин и пароль. Есть идеи?

13 ответов


В основном, вам нужен файл закрытого ключа для входа в ваш EC2 через SSH. Чтобы создать его, выполните следующие действия:

  • Go https://console.aws.amazon.com/ec2/home & войдите в существующую учетную запись Amazon.
  • нажмите "пары ключей" на LHS или https://console.aws.amazon.com/ec2/home?region=us-east-1#s=KeyPairs.
    • вы должны увидеть список ключей, сгенерированных вами (или во время процесса создания EC2).
    • клик "создать пару ключей" если вы не видите или вы потеряли собственный ключ.
    • введите уникальное имя и нажмите Enter.
    • появится панель загрузки для сохранения закрытого ключа, сохраните его.
    • держите его где-нибудь с разрешением файла "0600"
  • нажмите "экземпляры" на LHS или https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Instances
    • вы должны увидеть список EC2-экземпляров, если вы не видите ничего, тогда, пожалуйста, создайте его.
    • нажмите на машине EC2 и запишите публичный DNS-адрес.
  • откройте терминал (в Linux) и введите следующую команду
    • ssh -i /path/to/private-key root@<ec2-public-dns-address> - имя пользователя root было избегнуто в последних выпусках, на основе вашего дистрибутива выберите ec2-user или ubuntu Как ваше имя пользователя.
    • жмем Enter
    • вот и все.

ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>

просто использовать ubuntu вместо root. Ваша проблема будет решена. Ура!


Шаг 1) Загрузите закрытые ключи, назначенные вашей машине ec2 (который только один раз Скачать при создании. поэтому рекомендуется совершить где-нибудь)

Шаг 2) и огонь по командам,

chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

Официальный Док : подключение к экземплярам Linux/Unix с помощью SSH


Примечание, текущий пользователь для 13.04 " ubuntu" СШ-И./системы MyKey.pem ubuntu@ec2-xxx-xxx-xxx-1.compute-1.amazonaws.com


сначала вам нужно создать пару ключей-сделайте это с помощью консоли EC2. Затем используйте свой закрытый ключ для SSH на сервере (имя пользователя ec2-user) используя SSH-клиент по вашему выбору.

после того, как вы можете выпустить sudo su - для получения root, если вы хотите (Примечание: Вы не можете войти в систему как root напрямую).


Если вы используете MacOS, вы должны создать / изменить файл конфигурации SSH (~ / .ssh / config) и поставить что-то вроде:

Host *.amazonaws.com
    User ubuntu
    Port 22
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
    IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem

затем для подключения к любому из экземпляров EC2:

ssh MYNAME.amazonaws.com

больше ничего!


чтобы настроить Ubuntu на AWS, выполните следующие действия:

  1. войдите в Amazon Web Services и выберите EC2.
  2. выбрать Запустить Программу и следуйте за мастером, выбрав правильный образ (Ubuntu), тип экземпляра, настройка сети и подсети VPC, хранение и разрешение доступа SSH в Группы Безопасности. Тогда запуск.
  3. в первый раз, вам вероятно нужно настройте пару ключей и назначьте ее экземпляру. Вы также можете создать пару ключей в Пар. После создания загрузите файл PEM и сохраните его в безопасном месте.
  4. после запуска экземпляра дождитесь, пока экземпляр будет инициализации и под управлением.

чтобы получить доступ к экземпляру через SSH, запустите:

  1. Connect to Linux box, указав файл PEM, например,

    ssh -i "file.pem" ubuntu@x.x.x.x
    

    убедитесь, что ваш файл PEM имеет разрешение 600 (chmod 600 file.pem).

устранение неисправностей

Если вы используете экземпляр VPC, и ваша группа безопасности правильна (с правильными правилами), и она все еще не работает, в VPC раздел проверьте вашу подсеть, который должен быть прикреплен к VPC (как используется вашим экземпляром) и установить новое правило в Маршрута В Таблице и 0.0.0.0/0 as назначения и свой Интернет-Шлюз as цель.

подробности: Устранение неполадок при подключении к экземпляру

Читайте также: возможные причины таймаута при попытке доступа к экземпляру EC2


1) Первый chmod на .pem file для ограничения разрешений файла, как показано ниже

chmod 400 my-key-pair.pem

2)тогда ssh со следующими командами непосредственно из .ssh папку

ssh -i my-key-pair.pem ec2-user@ec2-198-99-90-3.compute-1.amazonaws.com

Примечание: - перейти в . Первое нажатие Ctrl + H для отображения всех скрытых файлов и, наконец,cd .ssh


Не вход в систему как правильный пользователь для вас OS Distro может быть проблемой. Для определенного нового AMI имя пользователя может быть не "ubuntu", а"ec2-user". Например, для Amazon Linux я считаю, что пользователь является "ec2-user". Эрик Хаммонд приводит здесь примеры:http://alestic.com/2014/01/ec2-ssh-username

мое предложение, попробовать:

ssh -i /path/to/file.pem ec2-user@ec2...

ssh -i /path/to/file.pem ubuntu@ec2...

ssh -i /path/to/file.pem root@ec2...

Если у вас неправильный AMI, вы можете просто перезапустить машину, чтобы у вас было единообразие среди ваших кассет. Если это ваша проблема, вы, вероятно, захотите тот же дистрибутив ОС, по крайней мере, для ваших ящиков linux.


делать то, что предлагается во всех этих ответах, недостаточно. Против каждого экземпляра вы видите группу безопасности. Когда вы запускаете новый экземпляр, у вас будет установлено значение по умолчанию. Вам нужно отредактировать группу безопасности и добавить в нее ssh-порт. Позже вам нужно добавить порты 8080, 8443, 80, 443 также, Когда вы хотите разместить свой сайт.


Я принял предложение AWS использовать группы безопасности по умолчанию, которые включали порты "All Trafic".

и, после многих и многих попыток подключения к моему новому экземпляру ec2, я просто понял, что я должен отредактировать свою используемую группу безопасности и вручную добавить к входящему и исходящему порту 22 ( ssh ) !

надеюсь, что это помогает !


первое разрешение на изменение файла pem по

chmod 400 path/to/key_pair.pem

в файле ~/.ssh / config добавьте следующие строки в верхней части файла

Host AWS
     Hostname myserver.com
     User myuser
     IdentityFile path/to/.pem/file
     port 22

имя хоста возьмите IP или ссылку сервера, пользователь возьмет имя пользователя сервера, а файл идентификатора-файл, загруженный из AWS при создании экземпляра. Просто запустите следующую команду в terminal

ssh AWS

и наслаждайтесь!

Примечание: для перехода в . Первый пресс Ctrl + H в домашней папке, чтобы отобразить все скрытые файлы и наконец-то cd .ssh


убедитесь, что эти вещи в чеке

  1. закрытый ключ должен иметь разрешение 400

  2. убедитесь, что порт 22 открыт для экземпляра AWS, к которому вы пытаетесь получить доступ.

  3. ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX / / XXX.XXX.XXX.XXX = ваш экземпляр public ip