it-roy-ru.com

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

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

83
BetaRide

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

  • Перейти 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 [email protected]<ec2-public-dns-address> - имя пользователя root было исключено в последних выпусках, в зависимости от вашего дистрибутива выберите ec2-user или ubuntu в качестве имени пользователя.
    • нажмите Enter
    • Вот и все.
156
Rakesh Sankar
ssh -i /path/to/private-key [email protected]<ec2-public-dns-address>

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

23
Shaharia Azam

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

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

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

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

10
prayagupd

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

7
Mainguy

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

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

4
Jay Sidri

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

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

3
Thomas Decaux

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

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

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

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

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

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

Поиск проблемы

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

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

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

1
kenorb

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

1
WaterRocket8236

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

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

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

0
Diego Favero

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

0
SayeedHussain

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

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

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

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

Сначала измените разрешение файла 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

и наслаждайся этим!

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

0
Vineet Jain

Возможно, проблема не в том, чтобы войти в систему как правильный пользователь для вашей ОС. Для определенного нового AMI имя пользователя может быть не "ubuntu", а "ec2-user". Например, для Amazon Linux я полагаю, что пользователь "ec2-пользователь". Эрик Хаммонд приводит примеры здесь: 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, вы можете просто перезагрузить компьютер, чтобы обеспечить однородность кластеров. Если это ваша проблема, вы, вероятно, захотите такой же OS Distro, по крайней мере для ваших Linux-боксов.

0
Henry