Я только что подписался на новую акцию Elastic Beanstalk от Amazon. То, что я не могу понять, это как SSH к экземпляру Beanstalk. У меня нет личного ключа, потому что Beanstalk сгенерировал экземпляр от моего имени.
Экземпляр SSH на экземпляр эластичного бобового стежка
Ответ 1
Я обнаружил, что это двухэтапный процесс. Это предполагает, что вы уже настроили пару ключей для доступа к экземплярам EC2 в соответствующем регионе.
Настроить группу безопасности
- В консоли AWS откройте вкладку EC2.
- Выберите соответствующий регион и нажмите на группу безопасности.
- Если у вас запущен экземпляр Elastic Beanstalk в этом регионе, у вас должна быть группа безопасности по
elasticbeanstalk-default
. -
Отредактируйте группу безопасности, чтобы добавить правило для доступа SSH. Ниже будет заблокировано, чтобы разрешить вход только с определенного IP-адреса.
SSH | tcp | 22 | 22 | 192.168.1.1/32
Настройте среду вашего приложения Elastic Beanstalk
- Если вы еще не создали пару ключей, создайте ее, нажав "Пары ключей" под группой безопасности на вкладке ec2.
- В консоли AWS откройте вкладку Elastic Beanstalk.
- Выберите соответствующий регион.
- Выберите соответствующую среду
- Выберите Конфигурации в левой панели.
- Выберите Безопасность.
- В разделе "Пара ключей 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.
Шаги по созданию пары ключей
- Вход в AWS
- Услуги → EC2
- В левой части экрана "СЕТЬ И БЕЗОПАСНОСТЬ" выберите пары ключей
- Выберите "Создать новую пару ключей", введите имя ключа и нажмите "Создать". Ключ будет автоматически загружен в вашу систему.
Шаги по присоединению созданной пары ключей к среде эластичного beanstalk
-
AWS → Услуги → Упругий бобовый стебель
-
Выберите свою среду и нажмите на конфигурацию слева.
-
В разделе "Обзор конфигурации" выберите "Изменить".
-
В разделе Разрешения виртуальной машины выберите созданную пару ключей.
-
Нажмите "Сохранить" и затем сохраните конфигурацию.
Это займет некоторое время, чтобы отразить ваш экземпляр 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, который был создан для вашей среды. Вы можете проверить по:
- Перейти к консоли EC2
- Найдите свой экземпляр и проверьте вкладку " Описание "
- Если нет публичного IP...
- Нажмите Elastic IPs в навигации
- Нажмите Выделить новый адрес
- Выберите Amazon для бассейна
- Нажмите Распределить
Наконец, выберите ваш новый EIP и выберите Связать адрес из меню действий. Свяжите этот IP с вашим экземпляром EC2. Вы должны быть в состоянии подключиться, используя eb ssh
сейчас.
Вы можете сбросить информацию о соединении, запустив eb ssh --setup
.
Ответ 12
Я также столкнулся с той же проблемой некоторое время назад. Я хотел использовать файл ключа, но Amazon говорит где-то, что вы не можете добавить ключевой файл на существующий сервер EC2. Для первого приложения Beanstalk Amazon предварительно настроит приложение для вас. Вам нужно создать новое приложение, и вы можете настроить сервер EC2, который запускает приложение Beanstalk, для использования старого файла pem (ppk при использовании Putty), или вы можете создать новый. Теперь вы должны иметь SSH.
Затем настройте, а затем удалите старое приложение.