Проблемы с загрузкой в ​​EC2. Как ты делаешь FTP? - PullRequest
13 голосов
/ 30 октября 2011

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

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

sudo ssh -L 21:localhost:21 -vi my-key-pair ec2-user@ec2-instance

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

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

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

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

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

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

Ответы [ 4 ]

37 голосов
/ 31 октября 2011

Я понял это после справочной помощи Антти Хаапала.

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

Это то, что я сделал (я на Mac, так должно быть в Windows):

  1. Откройте файл Zilla и перейдите в настройки.
  2. В разделе настроек нажмите sftp и добавьте новый ключ.Это ваша пара ключей для вашего экземпляра ec2.Вам придется преобразовать его в формат, который использует FileZilla.Появится запрос на преобразование
  3. Нажмите кнопку ОК и вернитесь к менеджеру сайта
  4. В диспетчере сайта введите свой общедоступный адрес EC2, это также может быть ваш эластичный IP
  5. Убедитесь, что протокол настроен на SFTP
  6. Введите имя пользователя ec2-user
  7. Удалите все из поля пароля - оставьте поле пустым
  8. Все готово!Теперь подключитесь.

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

sudo chgrp ec2-user file/folder<br/> sudo chmod 770 file/folder

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

4 голосов
/ 31 октября 2011

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

Читайте также на Википедия

0 голосов
/ 24 мая 2013

Советы Антти Хаапалы - единственный способ обойти SF2 SFTP. Работает просто отлично! Просто отметьте, что вам нужно создать папку /var/www/.ssh/ и скопировать туда файл author_keys.

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

0 голосов
/ 27 января 2012

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

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

...