Поиск по сайту:

Как создать сервер с поддержкой SFTP на AWS


Семейство AWS Transfer поддерживает безопасный протокол передачи файлов (SFTP), протокол передачи файлов через SSL (FTPS) и протокол передачи файлов (FTP) для передачи файлов в AWS S3 или AWS EFS (эластичная файловая система) и обратно. Он поддерживает маршрутизацию DNS с помощью Amazon Route 53. Семейство AWS Transfer устраняет накладные расходы, связанные с покупкой и запуском собственных FTP-серверов, вместо этого оно управляет файловой инфраструктурой вместо вас. Он поддерживает автоматическое масштабирование емкости и обеспечивает высокую доступность.

AWS Transfer Family — это полностью управляемый сервис AWS, который масштабируется в режиме реального времени, и вам не нужно создавать

Давайте разберемся с 3 различными протоколами, поддерживаемыми семейством AWS Transfer.

  1. Протокол SFTP. Протокол передачи файлов Secure Shell — это сетевой протокол, используемый для безопасной передачи данных через Интернет. Протокол поддерживает полную безопасность и функции аутентификации SSH.
  2. Протокол FTP. Протокол передачи файлов (FTP) — это сетевой протокол, используемый для передачи данных. FTP использует отдельный канал для управления и передачи данных.
  3. Протокол FTPS: Протокол передачи файлов через SSL является расширением FTP. Он использует криптографические протоколы Transport Layer Security и Secure Sockets Layer для шифрования трафика.

Вы можете создать общедоступный сервер или создать сервер в VPC.

Вы также можете контролировать доступ к серверу с помощью политик AWS Identity and Access Management (IAM). Эти политики можно назначить роли IAM, которая затем прикрепляется к пользователю.

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

В этой статье мы увидим шаги по созданию сервера с поддержкой SFTP на AWS, который будет общедоступен. Прежде чем приступить к изучению этой статьи, предполагается, что вы знакомы с ролями IAM, экземплярами EC2 и сегментами S3.

Предпосылки

  1. Аккаунт AWS (создайте, если у вас его нет).
  2. Экземпляр Ubuntu EC2 (нажмите здесь, чтобы узнать, как создать экземпляр Ubuntu EC2 на AWS).
  3. Роль IAM с полным доступом к S3 (нажмите здесь, чтобы узнать, как создать роль IAM).
  4. Корзина S3 (нажмите здесь, чтобы узнать, как создать корзину S3 в AWS).

Что мы будем делать?

  1. Войти в AWS
  2. Создание SFTP-сервера
  3. Изменить доверительные отношения IAM-политики
  4. Создайте папку в корзине S3.
  5. Создайте пару ключей в экземпляре EC2.
  6. Создайте пользователя на SFTP-сервере.
  7. Проверьте подключение к SFTP-серверу.
  8. Удалить SFTP-сервер

Войти в АВС

Нажмите здесь, чтобы перейти на страницу входа, где вы можете ввести свои учетные данные, чтобы войти в учетную запись.

После успешного входа в свою учетную запись вы увидите главную консоль управления AWS, как показано ниже, и вы сможете выбрать нужный регион для создания SFTP-сервера.

Создайте SFTP-сервер

Найдите \Передача семьи\ в поле поиска в верхней части экрана.

Вы увидите главную панель инструментов AWS Transfer Family, как показано ниже. Нажмите кнопку \Создать сервер\, чтобы создать свой первый SFTP-сервер.

Здесь выберите протокол, который вы хотите включить для сервера. Вы можете включить несколько протоколов, но здесь мы будем использовать один протокол SFTP. Нажмите кнопку \Далее\, чтобы продолжить.

Выберите тип конечной точки в зависимости от ваших требований. Если вы хотите, чтобы ваша конечная точка была общедоступной, продолжайте. Нажмите кнопку \Далее\.

Выберите сервис хранилища AWS, в котором вы хотите хранить свои данные. Здесь мы продолжим работу с Amazon S3. Нажмите кнопку \Далее\, чтобы продолжить.

Продолжить с параметрами по умолчанию здесь.

Просмотрите конфигурацию и нажмите кнопку «Создать сервер». Это создаст для вас SFTP-сервер, процесс создания займет несколько минут.

Изменить доверительные отношения IAM-политики

Следующим шагом является изменение политики IAM, которая имеет полный доступ к корзинам S3. Перейдите к \Роль IAM --> Доверительные отношения\ и отредактируйте ее.

Измените Сервис на \transfer.amazonaws.com\, документ политики должен выглядеть следующим образом.

Создайте папку в корзине S3.

Увидимся, если у вас есть корзина S3, в которой вы хотели бы хранить данные с SFTP-сервера.

Создайте пару ключей в экземпляре EC2.

Следующим шагом является создание пары ключей, которая будет использоваться для аутентификации на SFTP-сервере. Перейдите на свой сервер Linux и выполните следующую команду, чтобы сгенерировать пару ключей.

ssh-keygen

cat ~/.ssh/id_rsa.pub

Получите открытый ключ, который потребуется на следующем шаге.

Создайте пользователя на SFTP-сервере

Давайте перейдем к SFTP, который мы создали.

Нажмите кнопку \Добавить пользователя\, чтобы создать пользователя, который будет использоваться для аутентификации и передачи файлов на S3 с помощью созданного нами SFTP-сервера.

Здесь конечная точка, которую вы видите, будет использоваться для доступа к SFTP-серверу для передачи данных. Держите при себе эту конечную точку, которая понадобится при доступе к SFTP-серверу.

Добавьте имя пользователя, выберите роль IAM, выберите корзину S3 и папку внутри нее, которая будет служить домашним каталогом для пользователя, которого мы создаем. Добавьте открытый ключ, который мы скопировали из предыдущего шага, в часть \Открытый ключ SSH\.

Прокрутите страницу вниз и нажмите кнопку \Добавить\. Это создаст пользователя, которому потребуется закрытый ключ, связанный с общедоступным, который мы добавили при создании пользователя.

Проверить подключение к SFTP-серверуПроверить подключение к SFTP-серверу

Перейдите на сервер Linux, на котором вы создали пару ключей, и используйте следующую команду для подключения к SFTP-серверу.

Здесь вам нужно изменить конечную точку на то, что у вас есть для вашего SFTP-сервера.

sftp -i ~/.ssh/id_rsa [email azonaws.com

Вы можете попробовать загрузить файлы с помощью следующей команды, где файл, используемый в следующей команде, принадлежит локальной системе.

put /home/ubuntu/test-file

Приведенная выше команда скопирует файл \/home/ubuntu/test-file\ из локальной системы на SFTP-сервер.

Вы можете проверить из консоли, был ли файл загружен или нет в корзине S3, используя указанную выше команду \put\.

Удалить SFTP-сервер

Когда вам больше не нужен ваш SFTP-сервер, вы можете легко удалить его. Чтобы удалить сервер, нажмите \Действия --> Удалить\.

Подтвердите действие по удалению и нажмите кнопку \Удалить\. После удаления SFTP-сервера вы не сможете восстановить его, поэтому будьте осторожны при выполнении операции удаления.

Заключение

В этой статье мы увидели шаги по созданию SFTP-сервера с S3 в качестве бэкэнда. Мы создали пользователя и назначили ему определенную корзину S3 --> папку в качестве домашнего каталога. Мы увидели необходимые изменения, необходимые для использования роли IAM для пользователя.