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

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

Ответ 1

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

  • Перейдите https://console.aws.amazon.com/ec2/home и войдите в свою существующую учетную запись Amazon.
  • Нажмите "Key Pairs" на 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 [email protected]<ec2-public-dns-address> - имя пользователя root было исключено в последних версиях, на основе вашего дистрибутива выберите ec2-user или ubuntu в качестве своего имени пользователя.
    • нажмите Enter
    • Что это.

Ответ 2

ssh -i /path/to/private-key [email protected]<ec2-public-dns-address>

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

Ответ 3

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

ШАГ 2) и выполните следующие команды:

chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem [email protected]

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

Ответ 4

Обратите внимание, что текущий пользователь для 13.04 - это "ubuntu" ssh -i./mykey.pem [email protected]

Ответ 5

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

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

Ответ 6

Если вы используете 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

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

Ответ 7

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

  • Войдите в Amazon Web Services и выберите EC2.
  • Выберите "Запуск экземпляра" и следуйте указаниям мастера, выбрав правильное изображение (Ubuntu), тип экземпляра, настройку сети VPC и подсети, хранилище и разрешение доступа к SSH в группах безопасности. Затем Запустите.
  • Впервые вам, вероятно, нужно настроить пару ключей и назначить их экземпляру. Вы также можете создать пару ключей в Key Pairs. После создания загрузите файл PEM и сохраните его в безопасном месте.
  • После запуска экземпляра подождите, пока экземпляр будет инициализирован и запущен.

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

  • Подключитесь к Linux, указав свой файл PEM, например

    ssh -i "file.pem" [email protected]
    

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

Устранение неполадок

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

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

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

Ответ 8

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

chmod 400 my-key-pair.pem

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

ssh -i my-key-pair.pem [email protected]

Примечание.. Чтобы перейти в папку .ssh. Сначала нажмите Ctrl + H, чтобы отобразить все скрытые файлы и, наконец, cd .ssh

Ответ 9

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

Мое предложение, попробуйте:

ssh -i /path/to/file.pem [email protected]

ssh -i /path/to/file.pem [email protected]

ssh -i /path/to/file.pem [email protected]

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

Ответ 10

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

Ответ 11

Убедитесь, что эти вещи в проверке

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

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

  3. ssh -i privatekey.pem [email protected]//XXX.XXX.XXX.XXX = ваш публичный ip экземпляра

Ответ 12

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

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

Надеюсь, что это поможет!

Ответ 13

Первое разрешение на изменение файла 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 или ссылку сервера, Пользователь принимает имя пользователя и файл Identity - это файл, загруженный из AWS при создании экземпляра. Просто запустите следующую команду в терминале

ssh AWS

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

Примечание. Чтобы перейти в папку .ssh. Сначала нажмите Ctrl + H в домашней папке, чтобы отобразить все скрытые файлы и, наконец, cd .ssh