SSH к экземпляру Elastic Beanstalk - PullRequest
268 голосов
/ 20 января 2011

Я только что подписался на новое предложение Amazon Elastic Beanstalk.То, что я не могу понять, это как SSH к экземпляру Beanstalk.У меня нет личного ключа, потому что Beanstalk сгенерировал экземпляр от моего имени.

Ответы [ 12 ]

429 голосов
/ 07 февраля 2011

Я обнаружил, что это двухэтапный процесс. Это предполагает, что вы уже настроили пару ключей для доступа к экземплярам EC2 в соответствующем регионе.

Настройка группы безопасности

  1. В консоли AWS откройте вкладку EC2.
  2. Выберите соответствующий регион и нажмите на группу безопасности.
  3. У вас должна быть группа безопасности elasticbeanstalk-default, если вы запустили экземпляр Elastic Beanstalk в этом регионе.
  4. Отредактируйте группу безопасности, чтобы добавить правило для доступа SSH. Ниже будет заблокировано, чтобы разрешить вход только с определенного IP-адреса.

    SSH | tcp | 22 | 22 | 192.168.1.1/32
    

Настройка среды вашего приложения Elastic Beanstalk

  1. Если вы еще не создали пару ключей, создайте ее, нажав Пары ключей под группой безопасности на вкладке ec2.
  2. В консоли AWS откройте вкладку Elastic Beanstalk.
  3. Выберите соответствующий регион.
  4. Выберите соответствующую среду
  5. Выберите Конфигурации в левой панели.
  6. Выберите Security.
  7. В поле «Пара ключей EC2:» выберите имя своей пары ключей в поле Existing Key Pair.

После повторного запуска экземпляра необходимо получить имя хоста на вкладке экземпляров консоли AWS EC2 или через API. После этого вы сможете использовать ssh на сервере.

$ ssh -i path/to/keypair.pub ec2-user@ec2-an-ip-address.compute-1.amazonaws.com

Примечание. Для добавления пары ключей в конфигурацию среды защита от прерывания экземпляров должна быть отключена, поскольку Beanstalk попытается завершить текущие экземпляры и запустить новые экземпляры с помощью KeyPair.

Примечание. Если что-то не работает, откройте вкладку «События» в приложении / окружении Beanstalk и выясните, что пошло не так.

114 голосов
/ 24 декабря 2014

Elastic beanstalk CLI v3 теперь поддерживает прямой SSH с помощью команды eb ssh. Э.Г.

eb ssh your-environment-name

Нет необходимости создавать группы безопасности для определения адреса экземпляра EC2.

Есть еще один крутой трюк:

eb ssh --force

Это временно заставит порт 22 открыться на 0.0.0.0 и будет держать его открытым до тех пор, пока вы exit. Это смешивает немного преимуществ топ-ответа, без хлопот. Вы можете временно предоставить кому-то, кроме вас, доступ для отладки и еще много чего. Конечно, вам все равно нужно загрузить их открытый ключ на хост, чтобы у них был доступ. Как только вы это сделаете (и пока вы внутри eb ssh), другой человек может

ssh ec2-user@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com
45 голосов
/ 01 сентября 2013

Мой опыт работы в августе 2013 года с клиентом linux и простой установкой AWS Beanstalk (один экземпляр EC2) выглядит следующим образом (на основе Вики сообщества выше)

Настройка группы безопасности

  1. В консоли AWS выберите EC2, чтобы перейти на панель мониторинга EC2.
  2. Найдите группу безопасности, к которой относится ваш экземпляр EC2, щелкнув Экземпляры на левой панели, а затем выбрав экземпляр, к которому вы хотите подключиться (вв моем случае есть только один - называется среда по умолчанию).Подробности показаны в нижней части страницы - вы должны увидеть поле для групп безопасности - запишите имя - в моем случае "awsweb ...".
  3. На левой панели выберите Группы безопасности.
  4. Выберите группу безопасности awsweb..., подробности должны отображаться в нижней части страницы
  5. Выберите вкладку Входящие ивыберите SSH из выпадающего списка «Создать новое правило».Вставьте IP-адрес / CIDR вашего локального компьютера (с которого вы собираетесь подключаться), например, 192.168.0.12/32, и нажмите «Добавить правило и применить изменения правила».

Создать пару открытого и закрытого ключей

  1. На панели инструментов EC2 выберите Key Pairs на левой панели
  2. Нажмите Key Pair (вверху) и введите имя, например myname-key-pair-myregion или любой другой действующий ключ.Назовите понравившееся имя.
  3. Подтвердите, а затем подтвердите загрузку закрытого ключа из браузера, сохранив его, например, в своем домашнем каталоге или в любом другом месте.Убедитесь, что каталог имеет только разрешения на запись для вас.

Свяжите пару открытого личного ключа с сервером Elastic Beanstalk EC2

  1. Чтобы добавить пару открытого и закрытого ключа вЭкземпляр Elastic Beanstalk EC2 делает: Сервисы -> Elastic Beanstalk -> Мое приложение -> Среда по умолчанию, и вы переходите в среду по умолчанию (ту, в которую вы загружаете свое приложение)
  2. Нажмите Конфигурация (на левой панели) изатем на шестерне / шестерне, связанной с «Экземплярами»
  3. Отображается страница, озаглавленная «Сервер»
  4. Выберите предварительно настроенный ключ с парой ключей EC2 и сохраните
  5. НекоторыеПоявится предупреждающее сообщение, поэтому сохраните снова.

Подключение к экземпляру AWS EC2 с использованием SSH

  1. В сеансе терминала перейдите в каталог, содержащий ваш закрытый ключ (файл .pem).
  2. Если у вас было несколько попыток, вам, вероятно, следует что-то сделать с .ssh / known_hosts, если у вас есть такая, как переименование.В противном случае вы можете получить ошибку об изменении идентификатора хоста.
  3. Do: ssh -i ./myname-key-pair-my-region.pem ec2-user@ec2-some-address.us-west-2.compute.amazonaws.com

Удачи

29 голосов
/ 06 ноября 2011

В меню «Действия с экземпляром» имеется удобный параметр «Подключить» для экземпляра EC2. Это даст вам точную команду SSH для выполнения с правильным URL для экземпляра. Общие инструкции Jabley верны.

28 голосов
/ 20 января 2011

Я тоже с этим играл.

  1. Перейдите на вкладку службы эластичных бобовых
  2. в обзоре вашего приложения перейдите к действию -> изменить конфигурацию
  3. добавьте имя ключа так, как оно отображается на вкладке EC2 (для того же региона), в существующее поле пары ключей и нажмите кнопку применить изменения

Услуга будет возобновлена, так что приготовьте кофе на 5 минут

На вашей вкладке ec2 для того же региона вы увидите новый запущенный экземпляр. SSH к общему DNS-имени в качестве ec2-пользователя, используя ключ, добавленный в 3 например ssh ec2-user@ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com

18 голосов
/ 05 мая 2018

Приведенные выше ответы устарели.

Сначала создайте пару ключей, а затем присоедините ее к среде Elastic Beanstalk.

Шаги для создания пары ключей

  1. Вход в AWS
  2. Услуги -> EC2
  3. Слева под NETWORK & SECURITY выберите пары ключей
  4. Выберите Создать новую пару ключей, введите ключимя и нажмите на создать.Ключ будет автоматически загружен в вашу систему.

Действия по присоединению созданной пары ключей к среде Elastic Beanstalk

  1. AWS ->Услуги -> Elastic Beanstalk

  2. Выберите свою среду и щелкните конфигурацию слева.

  3. В Обзоре конфигурации выберите изменить из Security.

  4. В разделе «Разрешения виртуальной машины» выберите созданную нами пару ключей.

  5. Нажмите «Сохранить», а затем - «Сохранить конфигурацию».

Это займет некоторое время, чтобы отразить ваш экземпляр EC2.

9 голосов
/ 10 мая 2015

Если вы используете эластичный бин и EB CLI, просто используйте eb ssh для входа в систему. Вы можете использовать параметры, указанные в следующей ссылке http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html

3 голосов
/ 30 мая 2016

Вам необходимо подключиться к экземпляру ec2 напрямую, используя его публичный IP-адрес.Вы не можете подключиться с помощью URL-адреса эластичного боба.

IP-адрес экземпляра можно найти, посмотрев его в консоли ec2.

Также необходимо убедиться, что порт 22 открыт.По умолчанию EB CLI закрывает порт 22 после завершения соединения ssh.Вы можете вызвать eb ssh -o, чтобы сохранить порт открытым после завершения сеанса ssh.

Предупреждение. Вы должны знать, что эластичный beanstalk может заменить ваш экземпляр в любое время.Государство не гарантируется ни в одном из ваших случаев эластичного бобового стебля.Вероятно, лучше использовать ssh только для тестирования и отладки, поскольку все, что вы изменяете, может исчезнуть в любое время.

2 голосов
/ 10 марта 2014

Направление установки пары ключей для экземпляра ElasticBeanstalk ec2 с текущим пользовательским интерфейсом: Предупреждение. Для этого потребуется обновить экземпляры EC2 в приложении ElasticBeanstalk. Примечание. Перед этим вам необходимо создать пару ключей на панели инструментов EC2.

1) В панели инструментов AWS выберите сервис ElasticBeanstalk 2) Выберите приложение, которое вы хотите использовать. 3) Выберите «Конфигурация» 4) Выберите значок шестеренки (настройки) в окне конфигурации «Экземпляры». 5) Откроется страница «Сервер», где вы можете обновить раскрывающееся поле «Пара ключей EC2», указав нужную пару ключей, и выбрать «Сохранить».

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

0 голосов
/ 12 февраля 2019

В зависимости от конфигурации среды у вас может не быть общедоступного IP-адреса в экземпляре EC2, который был создан для вашей среды. Вы можете проверить по:

  1. Перейти к консоли EC2
  2. Найдите свой экземпляр и проверьте вкладку Описание
  3. Если публичного IP нет ...
  4. Нажмите Эластичные IP-адреса в меню навигации
  5. Нажмите Назначьте новый адрес
  6. Выберите Amazon для бассейна
  7. Нажмите Выделите

Наконец, выберите ваш новый EIP и выберите Ассоциированный адрес в меню действий. Свяжите этот IP с вашим экземпляром EC2. Вы должны быть в состоянии подключиться, используя eb ssh сейчас.

Вы можете сбросить сведения о соединении, набрав eb ssh --setup.

...