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


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

13 78

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 было избегнуто в последних версиях, основываясь на вашем дистрибутиве select 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. подключение к 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 как пункт назначения и свой Интернет-Шлюз как цель.

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

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

1) Первый chmod the .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

Не вход в систему как правильный пользователь для вас дистрибутив ОС может быть проблемой. Для некоторых новых 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 при создании экземпляра. Просто запустите следующую команду в терминале

ssh AWS

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

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

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

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

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

  3. ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX // ХХХ.ХХХ.ХХХ.ХХХ = ваш экземпляр публичный IP