Как подключиться к aws amazon ssh
Перейти к содержимому

Как подключиться к aws amazon ssh

  • автор:

Connect to your Linux instance from Linux or macOS using SSH

You can use Secure Shell (SSH) to connect to your Linux instance from a local machine that runs a Linux or macOS operating system, or you can use a platform independent connection tool, such as EC2 Instance Connect or AWS Systems Manager Session Manager. For more information about platform independent tools, see Connect to your Linux instance.

This page explains how to connect to your instance with an SSH client. To connect to your Linux instance from Windows, see Connect from Windows.

Note

If you receive an error while attempting to connect to your instance, make sure that your instance meets all of the SSH connection prerequisites. If it meets all of the prerequisites, and you’re still not able to connect to your Linux instance, see Troubleshoot connecting to your instance.

Contents
  • SSH connection prerequisites
  • Connect to your Linux instance using an SSH client
  • Transfer files to Linux instances using an SCP client

SSH connection prerequisites

Before you connect to your Linux instance, complete the following prerequisites.

Check your instance status

After you launch an instance, it can take a few minutes for the instance to be ready so that you can connect to it. Check that your instance has passed its status checks. You can view this information in the Status check column on the Instances page.

Get the public DNS name and user name to connect to your instance

To find the public DNS name or IP address of your instance and the user name that you should use to connect to your instance, see Get information about your instance.

Locate the private key and set the permissions

To locate the private key that is required to connect to your instance, and to set the key permissions, see Locate the private key and set permissions.

Install an SSH client on your local computer as needed

Your local computer might have an SSH client installed by default. You can verify this by typing ssh at the command line. If your computer doesn’t recognize the command, you can install an SSH client.

  • Recent versions of Windows Server 2019 and Windows 10 – OpenSSH is included as an installable component. For more information, see OpenSSH in Windows .
  • Earlier versions of Windows – Download and install OpenSSH. For more information, see Win32-OpenSSH .
  • Linux and macOS X – Download and install OpenSSH. For more information, see https://www.openssh.com .

Connect to your Linux instance using an SSH client

Use the following procedure to connect to your Linux instance using an SSH client. If you receive an error while attempting to connect to your instance, see Troubleshoot connecting to your instance.

Connect to your instance using SSH
  1. In a terminal window, use the ssh command to connect to the instance. You specify the path and file name of the private key ( .pem ), the user name for your instance, and the public DNS name or IPv6 address for your instance. For more information about how to find the private key, the user name for your instance, and the DNS name or IPv6 address for an instance, see Locate the private key and set permissions and Get information about your instance. To connect to your instance, use one of the following commands.
  2. (Public DNS) To connect using your instance’s public DNS name, enter the following command.
ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name
ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address

You see a response like the following:

The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (198-51-100-1)' can't be established. ECDSA key fingerprint is l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY. Are you sure you want to continue connecting (yes/no)?
Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (ECDSA) to the list of known hosts.

Transfer files to Linux instances using an SCP client

One way to transfer files between your local computer and a Linux instance is to use the secure copy protocol (SCP). This section describes how to transfer files with SCP. The procedure is similar to the procedure for connecting to an instance with SSH.

Prerequisites
  • Verify the general prerequisites for transferring files to your instance. Before you transfer files between your local machine and your instance, take the following actions to ensure that you have all of the information you need.
  • Get information about your instance
  • Locate the private key and set permissions
  • (Optional) Get the instance fingerprint

The following procedure steps you through using SCP to transfer a file using the instance’s public DNS name, or the IPv6 address if your instance has one.

To use SCP to transfer files between your computer and your instance
  1. Determine the location of the source file on your computer and the destination path on the instance. In the following examples, the name of the private key file is key-pair-name.pem , the file to transfer is my-file.txt , the user name for the instance is ec2-user, the public DNS name of the instance is instance-public-dns-name , and the IPv6 address of the instance is instance-IPv6-address .
  2. (Public DNS) To transfer a file to the destination on the instance, enter the following command from your computer.
scp -i /path/key-pair-name.pem /path/my-file.txt ec2-user@instance-public-dns-name:path/
scp -i /path/key-pair-name.pem /path/my-file.txt ec2-user@\[instance-IPv6-address\]:path/
The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)' can't be established. RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f. Are you sure you want to continue connecting (yes/no)?
Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) to the list of known hosts. my-file.txt 100% 480 24.4KB/s 00:00
    (Public DNS) To transfer a file to a destination on your computer, enter the following command from your computer.
scp -i /path/key-pair-name.pem ec2-user@instance-public-dns-name:path/my-file.txt path/my-file2.txt
scp -i /path/key-pair-name.pem ec2-user@\[instance-IPv6-address\]:path/my-file.txt path/my-file2.txt

Начало работы с Amazon EC2

Эластичное вычислительное облако Amazon (Amazon EC2) – это веб‑сервис, предоставляющий безопасные масштабируемые вычислительные ресурсы в облаке. Amazon EC2 предлагает множество вариантов виртуальной разработки и использования любого приложения. Благодаря таким возможностям быстрое начало работы с EC2 – это легко и просто. На этой странице содержатся ресурсы для начала работы с инстансами EC2.

Step 1

Войдите в аккаунт AWS

Войдите в Консоль управления AWS и настройте аккаунт с правами root. Если у вас еще нет аккаунта AWS, будет предложено создать его.

Благодаря уровню бесплатного пользования AWS вы можете получить 750 ч избранных инстансов EC2 в месяц бесплатно.

Step 2

Запуск инстанса

Выберите наиболее подходящий тип инстанса для рабочей нагрузки. Для первого инстанса рекомендуется выбирать наиболее экономичный тип инстансов общего назначения: t2.micro и образа машины Amazon (AMI): Amazon Linux 2 AMI. Для обоих типов доступен уровень бесплатного пользования.

Чтобы создать виртуальную машину, щелкните Launch Instance (Запустить инстанс) на панели управления Amazon EC2.

Step 3

Настройка инстанса

Ниже приведены некоторые рекомендации по настройке первого инстанса

  • Группа безопасности. Создайте собственные правила брандмауэра или выберите группу безопасности VPC по умолчанию.
  • Хранилище. EC2 предлагает хранилища на основе магнитного диска или SSD. Мы рекомендуем начать с томов Amazon EBS gp2.
  • Для завершения процесса настройки щелкните Launch Instances (Запустить инстансы).

* Примечание. В дальнейшем будет использоваться файл пары ключей (.pem).

Подключение к инстансу

Когда инстанс запущен, к нему можно подключиться и использовать его так же, как обычный компьютер. Существует несколько способов подключения к консоли в зависимости от ОС. Мы рекомендуем использовать EC2 Instance Connect, простой в использовании веб-клиент.

  • Выберите созданный инстанс EC2 и щелкните Connect (Подключиться).
  • Выберите EC2 Instance Connect (Подключить EC2 Instance).
  • Выберите Connect (Подключиться). Откроется окно, которое означает, что вы подключились к своему инстансу.

Завершение работы инстанса

Начать работу с Amazon EC2 можно бесплатно (подробнее), но чтобы избежать дополнительных расходов, работу инстансов рекомендуется прекращать. При этом сам инстанс EC2 и все связанные данные будут удалены.

Выберите нужный инстанс EC2, нажмите «Actions», выберите пункт «Instance State», затем «Terminate».

Учебные пособия

Благодаря этим 10-минутным учебным пособиям и техническим документам вы получите практический опыт.

Amazon EC2

Установка веб-сервера LAMP на Amazon Linux

В этом пошаговом учебном пособии рассказывается, как установить веб‑сервер Apache с поддержкой PHP и MySQL (называемый также веб‑сервером LAMP или стеком LAMP) на инстансе Amazon Linux. Этот сервер можно использовать для хостинга статического веб‑сайта или развертывания динамического приложения на PHP, которое использует базу данных для чтения и записи информации.

Amazon EC2

Разместите блог WordPress на Amazon Linux 2

В этом пошаговом учебном пособии рассказывается, как установить и настроить блог на WordPress на инстансе Amazon Linux, а также обеспечить его безопасную работу. Кроме того, можно за один шаг начать работу с предварительно настроенным образом Bitnami WordPress от компании Bitnami, доступным на торговой площадке AWS.

Amazon EC2

Другие 10‑минутные учебные пособия

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

Amazon Lightsail

Lightsail – это простая в использовании облачная платформа, которая идеально подходит для упрощения рабочих нагрузок, быстрого развертывания и начала работы с AWS. Если вы новичок в облачном пространстве, в Lightsail вы найдете все необходимое для создания приложения или веб-сайта. Предлагается по невысокой цене в виде планов на месяц. Ознакомьтесь с этими Практическими пособиями о Lightsail, чтобы быстро реализовать проекты и развить инфраструктуру AWS. Чтобы сделать правильный выбор между Lightsail и EC2 , ознакомьтесь с параллельным сравнением облачных решений.

Повышение производительности благодаря EC2

Использование EC2 – это только начало упрощения облачных вычислений. Персонализируйте EC2 с помощью сервисов, которые повысят вашу эффективность за счет высокопроизводительного блочного хранилища, инструментов, которые позволяют масштабировать ваше приложение с учетом требований, и отказоустойчивых рабочих нагрузок, тратя до 90 % меньше.

Amazon Elastic Block Store

Amazon Elastic Block Store (EBS) – это простой в использовании, высокопроизводительный сервис, созданный для использования с EC2, обеспечивающий пропускную способность и интенсивность транзакций рабочих нагрузок при любом масштабе.

Автоматическое масштабирование Amazon EC2

Автоматическое масштабирование EC2 обеспечивает доступность приложения на неизменно высоком уровне, автоматическое добавление или удаление инстансов EC2 в соответствии с заданными условиями.

Спотовые инстансы Amazon EC2

Спотовые инстансы Amazon EC2 предлагают свободные вычислительные ресурсы на AWS со значительной скидкой по сравнению со стоимостью инстансов по требованию.

Руководства пользователя и ресурсы

Благодаря гибкости AWS архитектуру приложений можно проектировать по своему усмотрению, какие бы задачи перед вами ни стояли – будь то хостинг веб‑сайта или анализ данных. Чтобы быстро начать работу, воспользуйтесь ресурсами, представленными ниже.

  • Подробнее об уровне бесплатного пользования AWS
  • Начало работы с AWS с помощью SDK
  • Вебинар по началу работы с AWS
  • Запуск инстанса Windows
  • Запуск инстанса Linux
  • Миграция в Amazon EC2
  • Краткое руководство AWS по началу эталонного развертывания. Краткое руководство AWS по началу эталонного развертывания поможет осуществить быстрое развертывание полнофункционального программного обеспечения корпоративного уровня в облаке AWS с соблюдением рекомендаций AWS по обеспечению безопасности и доступности.
  • Центр эталонных архитектурных решений AWS. Здесь представлены стандартные эталонные архитектуры и рекомендации по их использованию.
  • Сеть партнеров AWS: Сеть партнеров AWS представляет собой мощное, постоянно растущее сообщество компаний, которые предлагают широкий выбор продуктов и сервисов на AWS.

Не могу подключиться по SSH к AWS. Что я делаю не так?

Добрый день! Знаю, что данный вопрос уже обсуждался на сайте, но в другом направлении.
Подскажите, пожалуйста: не могу подключиться к серверу на AWS, т.к. спрашивает файл закрытого ключа.
Т.к. он зашифрован, мне AWS пишет ошибку:
«Error decrypting your password
Private key must begin with «——BEGIN RSA PRIVATE KEY——» and end with «——END RSA PRIVATE KEY——«»
Что делать? Есть ключ, сохраненный после конвертации в OpenSSH в Putty, но он тоже не подходит.

  • Вопрос задан более трёх лет назад
  • 2419 просмотров

5 комментариев

Простой 5 комментариев

Мария @mar_lar Автор вопроса

https://serverfault.com/questions/603984/windows-p.
по этой ссылке нашла объяснение, но все равно непонятно, как и какую часть декодить.

hint000

Мария, там приводится два варианта
Первый:

base64 -d /tmp/file | openssl rsautl -decrypt -inkey /path/to/aws/private/key.pem

здесь /tmp/file — это исходный файл с ключем,
/path/to/aws/private/key.pem — это файл, куда будет записан результат.

Второй вариант, как я понял, выдёргивает ключ налету, но требует дополнительных утилитт (aws-cli и jq):

aws ec2 get-password-data "--instance-id=$" | jq -r .PasswordData | base64 -D | openssl rsautl -decrypt -inkey $

Пробуйте и если не получится, то уточняйте конкретно, что не получается (какие ошибки выводятся).
Мария @mar_lar Автор вопроса

hint000, спасибо.
работаю с windows, есть aws-cli, но таким способом можно лишь вывести из индификатора пароль,а у меня первое подключение, т.е. ключи я создавала не с помощью aws, а с помощью putty и загрузила публичный. Теперь для первого соединения требуется расшифрованный пароль:
«an error occured when calling the GetPasswordData operations: AWS was not able to validate the provided access credentials».
Что, если сделать новые ключи и удалить старые? Не будет ли проблем с Instance?

Мария @mar_lar Автор вопроса
hint000, может я putty не правильно настроила?
Мария @mar_lar Автор вопроса
hint000, даже с WinSCP не получается войти.
Решения вопроса 0
Ответы на вопрос 2

Не очень понятно, новый у вас инстанс или уже был, как и куда вы добавили публичный ключ? Какой у вас инстанс на авс?
Но постараюсь пояснить логику процесса:
1. когда вы создаете инстанс, амазон предлагает сгенерировать или выбрать существующий ключ, этот ключ вам надо сохранить себе на диск.
2. амазон выдает ключ в формате pem и если его открыть в редакторе он начинается на ——BEGIN RSA PRIVATE KEY——. На самом инстансе публичный сертификат уже зашит на этапе инсталяции.
3. Этот pem ключ можно непосредственно использовать при подключение из терминала (кстати говоря виндовс уже это тоже умеет) ssh -i путь_к_PEM_файлу логин@хост_или_ip
4. если вы хотите подключиться через путти, то PEM ключ надо конвертировать в PPK ключ. Вам надо сохранить именно приватный ключ, тк публичный уже есть на самом сервере. Инструкция как конвертировать по ссылке

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Cloud infrastructure, monitoring engineer. SRE

Давайте уточним что понятно из вашего вопроса:
1. Вы пытаетесь подключиться к windows (поскольку при подключении к Linux нет этапа «расшировка пароля»)
2. Вы пытаетесь подключиться по SSH (или все же RDP?)
3. Вам не удается расшифровать пароль инстанса «на лету», поскольку у вас зашифрован ключ

  • есть эти фразы
  • отсутствует слово encrypted

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

c#

  • C#
  • +2 ещё

Как решить ошибку пула соединений к PostgreSql?

  • 2 подписчика
  • 15 февр.
  • 123 просмотра

Использование Amazon EC2 Instance Connect для доступа к вашим EC2-инстансам по SSH

В июне 2019 года был выпущен Amazon EC2 Instance Connect, новый способ контроля SSH-доступа к вашим EC2-инстансам с использованием AWS Identity and Access Management (IAM). В этом посте мы рассмотрим его подробнее.

Об Amazon EC2 Instance Connect

В то время как инструменты для внедрения «инфраструктуры как кода» (infrastructure as code, IaC), такие как Chef и Puppet, стали распространённым способом для конфигурации серверов, вам всё ещё может иногда потребоваться доступ к инстансам для более тонкой настройки, проверки системных логов или отладки проблем с приложениями. Самый популярный метод подключения к Linux-серверам – это Secure Shell (SSH). Он был создан в 1995 году и сегодня устанавливается по умолчанию практически в каждом дистрибутиве Linux.

Для индивидуальной авторизации пользователей при доступе по SSH часто используются пары SSH-ключей. В результате организациям приходится хранить, передавать и обслуживать эти ключи, а также управлять доступом к ним.

Кроме того, некоторые организации настраивают бастион-хосты (bastion hosts), которые помогают ограничить доступ по сети к другим серверам благодаря использованию единой точки входа. Они добавляют возможность логирования действий, а также предотвращают неправомерный доступ путём добавления дополнительного сетевого слоя, через который осуществляется SSH-доступ. То есть, другие инстансы доступны для подключения по SSH только из бастион-хоста, а не напрямую. С другой стороны, при использовании бастион-хостов возникают и проблемы, которые необходимо решить. Вам нужно обслуживать установленные SSH-ключи пользователей, осуществлять их ротацию, а также обеспечивать бесперебойную и, что более важно, безопасную работу бастион-хоста.

Amazon EC2 Instance Connect упрощает решение подобных проблем и предоставляет следующие преимущества, чтобы помочь вам улучшить общий уровень безопасности:

  • Централизованный контроль доступа – вы получаете централизованный контроль доступа к вашим EC2-инстансам с возможностью настройки на уровне пользователей и инстансов. Благодаря использованию политик и объектов IAM больше нет необходимости управлять SSH-ключами или передавать их для распространения по серверам.
  • Недолговечные ключи – SSH-ключи не хранятся на самом инстансе и являются эфемерными по своей природе. Инстанс получает к ним доступ только во время подключения от авторизованного пользователя, что упрощает предоставление и отзыв доступа в реальном времени. Это также позволяет вам избежать использования долговечных ключей. Вместо этого вы генерируете одноразовые SSH-ключи каждый раз, когда авторизованный пользователь инициирует подключение, тем самым избегая необходимости отслеживания и обслуживания ключей.
  • Возможности аудита – подключения пользователей с использованием EC2 Instance Connect логируются в AWS CloudTrail, что предоставляет необходимую информацию для аудита запросов на подключение.
  • Повсеместный доступ – с EC2 Instance Connect вы можете продолжать использовать ваш существующий SSH-клиент. Кроме того, вы можете подключаться к инстансам с использованием нового веб-клиента, который находится в консоли EC2. Это помогает избежать изменений в пользовательском опыте и необходимости менять ваши рабочие процессы и утилиты.

Как работает EC2 Instance Connect

Когда на инстансе включена функциональность EC2 Instance Connect, демон SSH (sshd) на нём настраивается с использованием особого скрипта AuthorizedKeysCommand. Этот скрипт изменяет AuthorizedKeysCommand так, чтобы во время процесса аутентификации по SSH публичные ключи читались из метаданных инстанса.

Публичные SSH-ключи доступны в метаданных инстанса только для одноразового использования в течение 60 секунд. Для того чтобы успешно подключиться к инстансу, вам необходимо сделать это в течение указанного времени. Так как ключи истекают автоматически, вам не нужно отслеживать их или управлять ими напрямую, как вы делали раньше.

Настройка EC2-инстанса для доступа по EC2 Instance Connect

Чтобы начать использовать EC2 Instance Connect, вам нужно в первую очередь настроить существующие инстансы. В настоящий момент EC2 Instance Connect поддерживает Amazon Linux 2 и Ubuntu. Для включения функциональности установите либо RPM, либо Debian-пакет соответственно. В новых инстансах на основе Amazon Linux 2 функциональность EC2 Instance Connect включена по умолчанию, поэтому вы можете подключиться к ним по SSH сразу без какой-либо дополнительной конфигурации.

Для использования функциональности в существующих инстансах сначала осуществите их настройку. В данном примере мы используем инстанс с Amazon Linux 2, запущенный в вашей учётной записи. Шаги, необходимые для настройки Ubuntu, вы можете найти в документации по ссылке Set Up EC2 Instance Connect.

    Подключитесь к инстансу по SSH. В данном примере он использует сравнительно новую версию Amazon Linux 2:

[ec2-user@ip-10-1-0-15 ~]$ uname -srv Linux 4.14.104-95.84.amzn2.x86_64 #1 SMP Fri Jun 21 12:40:53 UTC 2019 
$ sudo yum install ec2-instance-connect Loaded plugins: extras_suggestions, langpacks, priorities, update-motd Resolving Dependencies --> Running transaction check ---> Package ec2-instance-connect.noarch 0:1.1-9.amzn2 will be installed --> Finished Dependency Resolution . Installed: ec2-instance-connect.noarch 0:1.1-9.amzn2 Complete! 

Этот RPM-пакет произведет локальную установку нескольких скриптов и поменяет настройки AuthorizedKeysCommand и AuthorizedKeysCommandUser в файле /etc/ssh/sshd_config. Если вы используете какой-либо инструмент управления конфигурацией для изменения настроек sshd, то сначала установите пакет, а затем добавьте необходимые строки в конфигурацию, как указано в документации.

После установки ec2-instance-connect вы готовы к настройке пользователей и предоставлению им доступа к инстансам.

Настройка пользователей IAM

Вначале необходимо разрешить пользователю IAM отправлять свои SSH-ключи в EC2 Instance Connect. Для этого создайте политику IAM, чтобы вы затем могли назначать её другим пользователям в вашей учетной записи.

  1. В консоли IAM выберите пункт меню Policies и нажмите Create Policy.
  2. На странице Create Policy выберите вкладку JSON и вставьте следующий JSON-документ. Замените $REGION и $ACCOUNTID на соответствующие значения:

В качестве значения параметра ec2:osuser введите ec2-user при использовании Amazon Linux 2. Необходимо корректно указать этот параметр, чтобы метаданные были доступны для правильного SSH-пользователя. Более детальную информацию вы можете найти в документации по ссылке Actions, Resources, and Condition Keys for Amazon EC2 Instance Connect Service.

  1. Нажмите Review Policy.
  2. На странице Review Policy введите название политики, её описание и нажмите Create Policy.
  3. После создания политики вы можете назначить её необходимым объектам IAM. Например, создайте новую группу на странице Groups (я назвал мою группу «HostAdmins»).
  4. На странице Attach Policy во время создания группы выберите только что созданную политику и нажмите Next Step.
  5. Нажмите Create Group.
  6. На странице Groups выберите новую группу и нажмите Group Actions, Add Users to Group.
  7. Выберите одного или нескольких пользователей для добавления в группу и нажмите Add Users.

Теперь ваши пользователи могут использовать EC2 Instance Connect.

Подключение к инстансу с помощью EC2 Instance Connect

После конфигурации инстанса и назначения необходимой политики пользователям, они могут подключиться к инстансам с помощью обычного SSH-клиента, либо напрямую через AWS Management Console.

Чтобы избежать дополнительных шагов при подключении по SSH с использованием EC2 Instance Connect, существует специальная утилита для командной строки. Кроме того, можно воспользоваться веб-интерфейсом в консоли, который осуществляет за вас генерацию и установку SSH-ключа.

Для подключения с использованием SSH-клиента

  1. Создайте новый приватный и публичный ключи, mynew_key и mynew_key.pub соответственно:
$ ssh-keygen -t rsa -f mynew_key 
$ aws ec2-instance-connect send-ssh-public-key --region us-east-1 --instance-id i-0989ec3292613a4f9 --availability-zone us-east-1f --instance-os-user ec2-user --ssh-public-key file://mynew_key.pub
$ ssh -i mynew_key ec2-user@ec2-34-204-200-76.compute-1.amazonaws.com 

Если по какой-либо причине вы не успеете подключиться за 60 секунд, то увидите следующее сообщение об ошибке:

$ ssh -i mynew_key ec2-user@ec2-34-204-200-76.compute-1.amazonaws.com Permission denied (publickey,gssapi-keyex,gssapi-with-mic). 

В таком случае для подключения по SSH снова запустите команду send-ssh-public-key.

Теперь рассмотрим подключение через консоль.

Для подключения из консоли Amazon EC2

  1. Откройте консоль Amazon EC2.
  2. В меню слева нажмите Instances, а затем выберите инстанс, к которому необходимо подключиться.
  3. Нажмите Connect.
  4. На странице Connect To Your Instance выберите EC2 Instance Connect (browser-based SSH connection), затем нажмите Connect.

Откроется следующее окно терминала. Теперь вы подключены к вашему инстансу по SSH.

Аудит с помощью CloudTrail

Для каждой попытки подключения вы можете увидеть детали соответствующего события. Они включают информацию об ID инстанса, имени пользователя на уровне ОС и публичного ключа. Все эти данные необходимы для подключения по SSH и соответствуют API-вызову SendSSHPublicKey в CloudTrail.

В консоли CloudTrail задайте поиск по событию SendSSHPublicKey.

Если EC2 Instance Connect недавно использовался, то вы увидите записи, соответствующие API-вызовам ваших пользователей для отправки их SSH-ключей на необходимые хосты. Чтобы узнать инстанс, к которому осуществлялось подключение, а также другую полезную для аудита информацию, откройте детали события.

В следующем примере вы можете увидеть JSON-описание события CloudTrail, которое показывает использование команды SendSSHPublicKey:

 < "eventVersion": "1.05", "userIdentity": < "type": "User", "principalId": "1234567890", "arn": "arn:aws:iam:: 1234567890:$USER", "accountId": "1234567890", "accessKeyId": "ABCDEFGHIJK3RFIONTQQ", "userName": "$ACCOUNT_NAME", "sessionContext": < "attributes": < "mfaAuthenticated": "true", "creationDate": "2019-05-07T18:35:18Z" >> >, "eventTime": "2019-06-21T13:58:32Z", "eventSource": "ec2-instance-connect.amazonaws.com", "eventName": "SendSSHPublicKey", "awsRegion": "us-east-1", "sourceIPAddress": "34.204.194.237", "userAgent": "aws-cli/1.15.61 Python/2.7.16 Linux/4.14.77-70.59.amzn1.x86_64 botocore/1.10.60", "requestParameters": < "instanceId": "i-0989ec3292613a4f9", "osUser": "ec2-user", "SSHKey": < "publicKey": "ssh-rsa \\n" > >, "responseElements": null, "requestID": "df1a5fa5-710a-11e9-9a13-cba345085725", "eventID": "070c0ca9-5878-4af9-8eca-6be4158359c4", "eventType": "AwsApiCall", "recipientAccountId": "1234567890" >

Если вы настроили сохранение событий CloudTrail из вашей учетной записи в бакет Amazon S3, то вы можете программно скачать эту информацию и провести её аудит. Дополнительную информацию на эту тему вы можете найти в документации по ссылке Getting and Viewing Your CloudTrail Log Files.

Заключение

EC2 Instance Connect предлагает альтернативу стратегиям, включающим сложное управление SSH-ключами, а также предоставляет преимущества встроенного аудита с использованием CloudTrail. Благодаря интеграции с IAM и метаданными инстанса EC2, вы получаете безопасный способ распространения недолговечных SSH-ключей и контроля доступа с использованием политик IAM.

В разработке находятся дополнительные возможности для EC2 Instance Connect. Компания AWS планирует в будущем запустить авторизацию на основе тэгов, что позволит вам использовать тэги внутри условия политики IAM для контроля доступа. Кроме того, планируется по умолчанию включать EC2 Instance Connect в самых популярных дистрибутивах Linux, как это уже сделано в Amazon Linux 2.

EC2 Instance Connect уже доступен без дополнительной оплаты в регионах US East (Ohio и N. Virginia), US West (N. California и Oregon), Asia Pacific (Mumbai, Seoul, Singapore, Sydney и Tokyo), Canada (Central), EU (Frankfurt, Ireland, London, Paris и Stockholm) и South America (São Paulo).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *