Подтвердить что ты не робот

Загрузка в проблемы EC2. Как вы делаете FTP?

У меня установлен новый экземпляр EC2 на AWS, и я пытаюсь заставить FTP работать для загрузки моего приложения. Я установил VSFTPD как стандарт, поэтому я ничего не изменил в файле конфигурации (/etc/vsftpd/vsftpd.conf).

Я не установил свой порт 21 в группе безопасности, потому что я делаю это через SSH. Я вхожу в мой EC2 через termal, так что

sudo ssh -L 21:localhost:21 -vi my-key-pair [email protected]

Я открываю filezilla и регистрирую локальный хост. Все идет хорошо, пока не придет листинг структуры каталогов. Я могу войти и правильно, и все кажется прекрасным, как вы можете видеть ниже:

Status: Resolving address of localhost
Status: Connecting to [::1]:21...
Status: Connection established, waiting for welcome message...
Response: 220 Welcome to EC2 FTP service.
Command: USER anonymous
Response: 331 Please specify the password.
Command: PASS ******
Response: 230 Login successful.
Command: OPTS UTF8 ON
Response: 200 Always in UTF8 mode.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/"
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: EPSV
Response: 229 Entering Extended Passive Mode (|||37302|).
Command: LIST
Error: Connection timed out
Error: Failed to retrieve directory listing

Есть ли что-то, что отсутствует в моем файле конфигурации. Настройка, которая должна быть установлена ​​или выключена. Я подумал, что это здорово, что оно связано, но когда он приурочен, вы можете представить себе мое лицо. Это означало время начать тралить сетевую попытку и найти ответ! Теперь без везения.

Я использую стандартный бит Amazon AMI 64 бит. У меня традиционная настройка лампы.

Может ли кто-нибудь направить меня в правильном направлении? Я много читал о том, как это работает, но все они неполны, как будто им стало скучно, напоминая, как это сделать.

Я хотел бы услышать, как вы, ребята, тоже это делаете. Если это облегчит жизнь. Как вы загружаете свои приложения в экземпляр EC2? (Шаги, пожалуйста, это экономит много времени, плюс это отличный ресурс для других.)

4b9b3361

Ответ 1

Я понял, после помощи Антти Хаапалы.

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

Это то, что я сделал (я нахожусь на mac, поэтому он должен быть похож на окна):

  • Откройте файл zilla и перейдите в настройки.
  • В настройках нажмите sftp и добавьте новый ключ. Это ваша ключевая пара для вашего экземпляра ec2. Вам придется преобразовать его в формат FileZilla. Он даст вам запрос на конверсию.
  • Нажмите "ОК" и вернитесь к менеджеру сайта
  • В менеджере сайта введите свой общий адрес EC2, это также может быть вашим эластичным IP
  • Убедитесь, что для протокола установлено значение SFTP
  • Введите имя пользователя ec2-user
  • Удалить все из поля пароля - сделать его пустым
  • Все сделано! Теперь подключитесь.

Теперь вы можете пересечь свою систему EC2. Есть улов. Поскольку вы вошли в систему как пользователь ec2, а не root, вы ничего не сможете изменить. Чтобы обойти это, измените принадлежность группы к каталогу, в котором будет находиться ваше приложение (/var/www/html), или что-либо еще. Я бы изменил его так, чтобы он был на томе EBS.;) Также убедитесь, что эта группа имеет права на чтение и выполнение. Группа пользователей ec2 - ec2-пользователь. Оставь всех остальных как ничто. Таким образом, команда, которую вы используете во время входа в систему через ssh

sudo chgrp ec2-user file/folder
sudo chmod 770 file/folder

Надеюсь, это поможет кому-то.

Ответ 2

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

Читайте также на Wikipedia

Ответ 3

Добавление ключа на www - это рецепт катастрофы! Любая незначительная проблема с вашим приложением станет кошмаром безопасности.

В качестве альтернативы ftp рассмотрите возможность использования rsync или более "зрелой" стратегии развертывания, основанной, например, на capistrano. Для этого есть множество инструментов.

Ответ 4

Советы Antti Haapala - единственный способ работать с EC2 SFTP. Он работает отлично! Просто отметьте, что вам нужно создать папку/var/www/.ssh/и скопировать файл authorized_keys.

После этого вам нужно будет изменить свойство authorized_keys на www-data, чтобы ssh-соединение могло его распознать. Амазонка должна сообщить об этом людям. Я искал это на форумах, часто задаваемых вопросах и т.д. Никакой подсказки вообще... Приветствую еще раз на stackoverflow, путь к хаха!