Я щойно підписався на нову пропозицію Elastic Beanstalk від Amazon. Я не можу зрозуміти, як SSH в екземпляр Beanstalk. У мене немає приватного ключа, оскільки Beanstalk створив екземпляр від мого імені.
eb ssh
Я щойно підписався на нову пропозицію Elastic Beanstalk від Amazon. Я не можу зрозуміти, як SSH в екземпляр Beanstalk. У мене немає приватного ключа, оскільки Beanstalk створив екземпляр від мого імені.
eb ssh
Відповіді:
Я виявив це двоетапний процес. Це передбачає, що ви вже налаштували ключ для доступу до екземплярів EC2 у відповідному регіоні.
elasticbeanstalk-default
група безпеки, якщо ви запустили екземпляр Elastic Beanstalk у цьому регіоні.Відредагуйте групу безпеки, щоб додати правило для доступу до SSH. Нижче буде заблоковано його, щоб дозволити вхід лише з певної IP-адреси.
SSH | tcp | 22 | 22 | 192.168.1.1/32
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 і з’ясуйте, що пішло не так.
Тепер еластичний 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
eb ssh production
. Ви також можете налаштувати конкретне середовище за допомогою параметра настройки:eb ssh production --setup
Мій досвід в серпні 2013 року з клієнтом Linux та простою установкою AWS Beanstalk (один екземпляр EC2) такий (на основі спільноти Wiki Wiki)
awsweb...
групу безпеки, і деталі повинні відображатися в основі сторінкиУдачі
Я теж грав із цим.
Сервіс буде відновлено, тому приготуйте каву протягом 5 хвилин
На вкладці ec2 для того ж регіону ви побачите ваш новий запущений екземпляр. ssh для загальнодоступного імені dns як ec2-користувача, використовуючи ключ, доданий у 3, наприклад ssh ec2-user@ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com
Вище відповіді трохи старі.
Спочатку створіть пару ключів, а потім приєднайте її до середовища Elastic Beanstalk.
Крок для створення пари ключів
Етапи приєднання створеної пари ключів до середовища Elastic Beanstalk
AWS -> Послуги -> Elastic Beanstalk
Виберіть середовище та натисніть на конфігурацію зліва.
У огляді конфігурації виберіть модифікувати за допомогою Security.
У розділі Дозволи для віртуальної машини виберіть пару ключів, яку ми створили.
Клацніть на зберегти, а потім на конфігурацію збереження.
Це займе певний час, щоб відобразити ваш екземпляр EC2.
Якщо ви використовуєте еластичний боб і EB CLI, просто використовуйте eb ssh
для входу в примірник. Ви можете використовувати параметри, зазначені в наступному посиланні
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html
Вам потрібно підключитися до екземпляру ec2 безпосередньо за допомогою його загальнодоступної ip-адреси. Ви не можете підключитися за допомогою URL-адреси гумкого ключа.
Ви можете знайти ip адресу екземпляра, переглянувши його в консолі ec2.
Вам також потрібно переконатися, що порт 22 відкритий. За замовчуванням EB CLI закриває порт 22 після завершення ssh-з'єднання. Ви можете зателефонувати eb ssh -o, щоб порт був відкритим після завершення сеансу ssh.
Попередження: Ви повинні знати, що еластична пасточка може замінити ваш примірник у будь-який час. Держава не гарантується в жодному з ваших еластичних екземплярів. Напевно, краще використовувати ssh лише для тестування та налагодження, оскільки все, що ви змінили, може піти в будь-який час.
Напрямок для встановлення пари ключів для екземпляра ElasticBeanstalk ec2 з поточним користувальницьким інтерфейсом є: Попередження: Для цього знадобиться оновлення екземплярів EC2 у вашому додатку ElasticBeanstalk. Примітка: Вам потрібно буде створити пару ключів на інформаційній панелі EC2 до цього.
1) На інформаційній панелі AWS виберіть службу ElasticBeanstalk 2) Виберіть додаток, яке ви хочете використовувати. 3) Виберіть "Конфігурація" 4) Виберіть піктограму передач (налаштувань) у вікні налаштування "Екземпляри". 5) Це перенесе вас на сторінку під назвою "Сервер", де ви можете оновити спадне поле "Пара клавіш EC2" за допомогою потрібної пари ключів і вибрати "Зберегти".
Варто зазначити, що це може не працювати для Прикладних програм з кількома екземплярами (але я вважаю, що це, ймовірно, якщо вони знаходяться в одному регіоні, як пара ключів).
Я прийшов сюди, шукаючи спосіб додати ключ до екземпляра, який 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 у вікні.
Якщо ви створили CLI за допомогою eb init
для свого оточення, він повинен бути настільки ж простим
eb ssh --setup
що дозволить вам створити нову пару ключів або використовувати існуючу, якщо така існує.
Ви також можете просто підключитися до наявного середовища eb use
хоча я цього не робив.
Детальніше про встановлення CLI - https://docs.aws.amazon.com/console/elasticbeanstalk/eb-cli-install
Залежно від конфігурації оточуючого середовища, можливо, у вас не буде публічної IP-адреси на екземплярі EC2, створеному для вашого середовища. Ви можете перевірити:
Нарешті, виберіть свій новий EIP і виберіть в меню дій дії Асоційована адреса . Пов’яжіть цей IP з вашим екземпляром EC2. Ви повинні мати можливість підключитися за допомогоюeb ssh
зараз.
Ви можете скинути дані про з'єднання, запустивши eb ssh --setup
.
Я також стикався з тією ж проблемою деякий час тому. Я хотів скористатися файлом ключа, але Amazon десь каже, що ви не можете додати файл ключа до існуючого EC2-сервера. Для першої програми Beanstalk Amazon попередньо конфігурує програму для вас. Вам потрібно створити нову програму, і ви можете налаштувати EC2-сервер, на якому працює програма Beanstalk, для використання старого файлу pem (ppk, якщо використовується Putty), або ви можете створити новий. Тепер ви повинні мати можливість SSH.
Потім налаштуйте, а потім видаліть старий додаток.