Я пытаюсь использовать эластичный beanstalk для развертывания приложения, и одна из вещей, которые мне нужно сделать, — это иметь возможность войти в базовый экземпляр ec2 и добавить зависимости. Я добавил пару ключей в экземпляр и поместил файл закрытого ключа в ~/.ssh на своем компьютере. Затем я указал пару ключей для экземпляра ec2, и он перезапустился, и в итоге статус стал зеленым.
Когда я пытаюсь подключиться к экземпляру ec2 по ssh, я получаю следующую ошибку:
$ ssh [email protected]
[email protected]: Permission denied (publickey).
В документах говорится, что это может быть связано с неправильным именем пользователя.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html
Кто-нибудь знает, какое имя пользователя по умолчанию используется для экземпляров ec2, созданных эластичным beanstalk?
Также, если я делаю все это неправильно, я тоже был бы признателен за некоторые указатели.
1. Чтобы убедиться в правильности подключения:
Перейдите в EC2-> Экземпляры
Выберите свой экземпляр
И нажмите Подключить
Вы должны получить команду для подключения из инструкций во всплывающем окне Connect. Там указано правильное имя пользователя, а также инструкции о том, как установить правильные разрешения на pem (применимо к Linux)
2. Убедитесь, что вы изменили группу безопасности экземпляра, к которому пытаетесь подключиться, чтобы он разрешал ssh с IP-адреса вашего компьютера.
3. Также, если вы подключаетесь из корпоративной сети, попробуйте подключиться из другой сети. Это может быть проблема с брандмауэром.
4. И последнее, но не менее важное: убедитесь, что вы используете ssh внутри пути .ssh или укажите правильный путь pem.
Если я посмотрю на это в EB, похоже, что пара ключей настроена. Однако экземпляр EC2 говорит, что экземпляр не связан с парой ключей, когда я пытаюсь подключить инструкции.
Если вы прокрутите вправо от консоли ec2, разве вы не увидите связанную пару ключей? Это правильный экземпляр, который вы пытаетесь подключить?
Вы знаете, моя панель инструментов ec2 не обновлялась, и я указывал на экземпляр, который был убит, когда я обновлял пару ключей. Попробовал на новом экземпляре, все заработало.
Если вы используете эб кли, вы также можете подключиться по ssh, выполнив команду:
$ eb ssh my-environment-name
. Таким образом, вам не нужно беспокоиться об изменении базового экземпляра и необходимости каждый раз искать новый общедоступный DNS.