Экземпляр SSH на экземпляр эластичного бобового стежка

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

Ответ 1

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

Настроить группу безопасности

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

    SSH | tcp | 22 | 22 | 192.168.1.1/32
    

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

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

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

$ ssh -i path/to/keypair.pub [email protected]

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

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

Ответ 2

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

eb ssh your-environment-name

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

Там также этот классный трюк:

eb ssh --force

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

ssh [email protected]

Ответ 3

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

Настроить группу безопасности

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

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

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

Связывать партию открытого частного ключа с сервером EC2 с эластичным beanstalk

  • Добавление пары открытого и закрытого ключей в Эластичный бобслей EC2 instance do: Services → Elastic Beanstalk → My App → Default Окружающая среда приведет вас к среде по умолчанию (той, где вы загрузите приложение)
  • Нажмите "Конфигурация" (на левой панели), а затем на шестерне /cog связанные с "Экземпляры"
  • Отображается страница под названием "Сервер".
  • Выберите свой предварительно сформированный ключевой парад из пары ключей EC2 и сделайте Save
  • Отображается какое-то предупреждающее сообщение, поэтому снова сохраняйте Save.

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

  • В сеансе терминала перейдите в каталог, содержащий ваш закрытый ключ (файл .pem).
  • Если у вас было несколько таких вопросов, вы, вероятно, должны что-то сделать в .ssh/known_hosts, если у вас есть один, например, переименование. В противном случае вы можете получить сообщение об изменении имени хоста.
  • Do: ssh -i./myname-key-pair-my-region.pem [email protected]

Удачи.

Ответ 4

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

Ответ 5

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

  • перейдите на вкладку службы эластичного beanstalk
  • в вашем приложении обзор goto action → изменить конфигурацию
  • добавьте имя ключа, как оно отображается на вкладке EC2 (для той же области), в существующее поле keypair, и нажмите "Apply".

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

На вкладке ec2 для того же региона вы увидите свой новый исполняемый экземпляр. ssh для публичного имени DNS как ec2-пользователь, используя ключ, добавленный в 3 например ssh [email protected]

Ответ 6

Выше ответы немного устарели.

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

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

  1. Вход в AWS
  2. Услуги → EC2
  3. В левой части экрана "СЕТЬ И БЕЗОПАСНОСТЬ" выберите пары ключей
  4. Выберите "Создать новую пару ключей", введите имя ключа и нажмите "Создать". Ключ будет автоматически загружен в вашу систему.

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

  1. AWS → Услуги → Упругий бобовый стебель

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

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

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

  5. Нажмите "Сохранить" и затем сохраните конфигурацию.

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

Ответ 7

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

Ответ 8

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

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

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

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

Ответ 9

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

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

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

Ответ 10

Я пришел сюда в поисках способа добавить ключ к экземпляру, который Beanstalk создает во время предоставления (мы используем Terraform). Вы можете сделать следующее в Terraform:

resource "aws_elastic_beanstalk_environment" "your-beanstalk" {
   ... 
   setting {
      namespace = "aws:autoscaling:launchconfiguration"
      name      = "EC2KeyName"
      value     = "${aws_key_pair.your-ssh-key.key_name}"
   }
   ...
}

Затем вы можете использовать этот ключ для SSH в поле.

Ответ 11

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

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

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

Вы можете сбросить информацию о соединении, запустив eb ssh --setup.

Ответ 12

Я также столкнулся с той же проблемой некоторое время назад. Я хотел использовать файл ключа, но Amazon говорит где-то, что вы не можете добавить ключевой файл на существующий сервер EC2. Для первого приложения Beanstalk Amazon предварительно настроит приложение для вас. Вам нужно создать новое приложение, и вы можете настроить сервер EC2, который запускает приложение Beanstalk, для использования старого файла pem (ppk при использовании Putty), или вы можете создать новый. Теперь вы должны иметь SSH.

enter image description here

Затем настройте, а затем удалите старое приложение.