Серверу Filezilla FTP не вдається отримати список каталогів


79

Я використовую бета-версію Filezilla Server 0.9.45 для віддаленого управління своїм сервером. Після налаштування я протестував підключення до нього за допомогою IP 127.0.0.1, і він успішно працював. Однак для віддаленого підключення до сервера я переадресував порт 21 і спробував підключитися за допомогою IP-адреси мого комп’ютера.

Status: Connecting to [My IP]:21...
Status: Connection established, waiting for welcome message...
Response:   220 Powered By FileZilla Server version 0.9.45 beta
Command:    USER hussain khalil
Response:   331 Password required for user
Command:    PASS *********
Response:   230 Logged on
Status: Connected
Status: Retrieving directory listing...
Command:    CWD /
Response:   250 CWD successful. "/" is current directory.
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PORT 192,168,0,13,205,63
Response:   200 Port command successful
Command:    MLSD
Response:   150 Opening data channel for directory listing of "/"
Response:   425 Can't open data connection for transfer of "/"
Error:  Failed to retrieve directory listing

Це продовжує працювати локально, але не при віддаленому підключенні ... Як я можу це виправити?


Hay All, як щодо престашопу? Я спробував відповідь Кері на sftp.pswebstore.com, але статус говорить про те, що спроба підключення не вдалася з "ECONNREFUSED - З'єднання відмовлено сервером"
f_anto

Відповіді:


29

Коли ви надсилаєте команду порту на ваш сервер, ви просите сервер підключитися до вас (у віддаленій мережі). Якщо у віддаленій мережі також є маршрутизатор NAT, і ви не перенаправили порт, який ви надсилаєте за допомогою команди PORT, сервер не зможе зв’язатися з вами.

Найпоширенішим рішенням було б відправити команду PASV на сервер замість команди PORT. Команда PASV попросить сервер створити сокет для прослуховування та прийняти з'єднання з віддаленої машини для встановлення з'єднання для передачі даних.

Щоб команда PASV працювала, вам також потрібно буде переадресувати ряд портів для пасивних з'єднань даних. Порти пасивного підключення (які потрібно переадресувати) повинні бути перелічені в документації FileZilla.


Я встановив власний діапазон портів у налаштуваннях пасивного режиму (порт 50000 до 50100) і перенаправляв ці порти. Я також встановив для типу передачі пасивний, а не активний. Результату немає.
Хуссейн Халіл

Я тестував з моєї локальної мережі. Зовнішній зв’язок спрацював.
Хуссейн Халіл

132

Я щойно змінив шифрування з "Використовувати явний FTP через TLS, якщо він доступний" на "Використовувати лише звичайний FTP" (незахищений) у менеджері сайтів, і це працює!


31
Якщо ви хочете безпеки, це погана ідея.
Даррелл Нортон,

@DarrellNorton Отже, який спосіб забезпечити безпеку, а також отримати список каталогів?
Faizan

@Faizan ви повинні використовувати FTPS. Ця відповідь говорить про вимкнення безпеки. Ваггеліс чітко стверджує, що це невпевнено. Найімовірнішою причиною відмови команди PASV є те, що сервер FTP надсилає відповідь, але брандмауер не дозволяє вихідний зв'язок на цих портах. Дивіться відповідь Сан-Бергама у прийнятій відповіді.
Даррелл Нортон,

3
Детальне технічне пояснення @Faizan знаходиться тут: wiki.filezilla-project.org/Network_Configuration - мені довелося трохи поглянути на це, перш ніж я зрозумів різницю між активним та пасивним та явним проти неявного FTPS. Моя проблема закінчилася тим, що брандмауер блокував неявний діапазон портів FTPS, який я встановив на 50000 - 55000. Як тільки адміністратор мережі явно дозволив вихідні дані на ці порти, він працював чудово.
Даррелл Нортон,

Зверніть увагу, що це дійсно відключить вашу безпеку, так, це спрацює, але через це рано чи пізно може виникнути проблема!
Кері Бондок

55

Файл > Менеджер сайтів > Виберіть свій сайт> Налаштування перенесення > Активний

Працює для мене.


7
або ви можете спробувати це: Редагувати > Налаштування > З'єднання > FTP > Подивіться на режим передачі (змінити пасивний на активний )
Ентоні Кал

OMG нарешті! Після того, як 10000 разів прочитали ту саму лайно з типом шифрування та брандмауером, ця спрацювала!
Едуард Унру

29

Більшість відповідей тут передбачає налаштування, насправді, просто додавши sftp://на свій хост (див. Зображення нижче), ви можете миттєво виправити таку проблему, працює для мене.

введіть тут опис зображення

А також зверніть увагу, що якщо ви будете слідувати керівництву Vaggelis, ви знижуєте рівень безпеки, sftpкраще, ніж використовувати звичайний ftp.

Я щойно змінив шифрування з "Використовувати явний FTP через TLS, якщо він доступний" на "Використовувати лише звичайний FTP" (незахищений) у менеджері сайтів, і це працює!


Це не може працювати в магазині. Я спробував sftp.pswebstore.com, але статус говорить про те, що спроба підключення не вдалася з "ECONNREFUSED - З'єднання відмовлено сервером".
f_anto

1
Це насправді найкраща відповідь!
Альваро

11

Гаразд, це дуже допомогло, я не міг знайти виправлення.

Просто я вже перевів порт FTP на свій сервер. (За замовчуванням - 14147, я буду використовувати це як приклад)

Перейдіть до «Редагувати»> «Загальні налаштування», порт для прослуховування повинен використовуватися вами, у цьому випадку 14147.

Потім перейдіть до Налаштування пасивного режиму, я встановив прапорець "Використовувати спеціальний порт" і ввійшов у діапазон 50000 - 50100.

Потім на вашому маршрутизаторі перенесіть локально 50000-50100 на IP-адресу сервера.

Налаштування IPv4, які я залишив за замовчуванням, знову підключився до мого клієнта і з'явився список файлів.

Переконайтеся, що на брандмауері серверів встановлено вхідне правило, яке приймає 14147 та 50000-50100.

В основному те, що заявив Еван. Я не можу засвідчити безпеку відкриття цих портів, але це, нарешті, дозволило моєму клієнту Filezilla та серверу спілкуватися та переглядати файли. Сподіваюся, це комусь допомагає.


1
"Переконайтеся, що на брандмауері серверів встановлено вхідне правило, яке приймає 14147 і 50000-50100" -> цей коментар збереже мої дні
Рокі Андра

Я щойно встановив сервер FileZille на роботі, і я можу переглядати свою папку за допомогою FileZille Cliet. Проблема полягає в тому, що я намагаюся підключитися через PHP за допомогою бібліотеки nicolab. Я продовжую отримувати виняток "Неможливо підключитися". Будь-які ідеї? Я знаю, що це може мати все спільне із брандмауером нашої компанії. Заздалегідь спасибі.
scruffycoder86

1
Це ключ "Переконайтеся, що на брандмауері серверів встановлено вхідне правило, яке приймає 14147 та 50000-50100." Дякую товаришу, проголосували!
Хітін

10

Мій досвід полягає в тому, що нова версія Filezilla має цю проблему, але не старі версії. Я використовував Filezilla, і все було в порядку. Після оновлення до версії 3.10 я зіткнувся з цією проблемою і не міг її вирішити. Я видалив версію 3.10 і перевстановив версію 3.8, і проблема зникла! Зараз я використовую версію 3.8 і все в порядку. Я вважаю за краще не стикатися з проблемами, навіть якщо мені доводиться використовувати старі версії. ;)

Спробуйте встановити стару версію і не оновлюйте, як би дивно це не звучало.


я щойно завантажив звідси версію 3.8 із шифруванням: "Звичайний Ftp" та налаштуваннями передачі: "Пасивний"
Shaiju T

У мене дивна ситуація, коли я можу отримати доступ до різних сайтів за допомогою клієнта FileZilla (3.22), використовуючи TLS, але до одного сайту я можу отримати доступ лише за допомогою простого FTP. Це траплялося десь за останні кілька місяців (з часу останнього відвідування цього веб-сайту), оскільки раніше він добре працював із TLS.
Марк Вільсон

6

Я вирішив це, зайшовши в Диспетчер сайтів -> вибрав підключення, яке Failed to retrieve directory listing-> Переключився на вкладку «Параметри передачі» та встановив для «Режим передачі» значення «Активний» замість «За замовчуванням». Також перевірте, чи підключені ви через VPN або щось подібне, це також може заважати.


1
Якщо ви голосуєте проти, будь ласка, скажіть чому, тому що це спрацювало для мене.
Огглас

Через 3 роки це було рішення для мене
techguy1029

3

У мене була та сама проблема - те, що працювало у мене - в ОС Windows - це додавання FileZilla як виняток брандмауера - при дозволі програми через функції брандмауера


2

Я мав Filezilla 3.6 і мав таку ж проблему, як OP. Я перейшов на 3.10.3, думаючи, що це виправить. Ні, все те саме.

Потім я трохи порився навколо варіантів, і мені вдалося:

Редагувати -> Налаштування -> FTP -> Пасивний режим і переключився з "Повернутися до активного режиму" на "Використовувати замість цього зовнішню IP-адресу сервера"


2

У мене була та сама проблема, це сталося через брандмауер. Я використовую сервер Windows,

Чи можете ви дозволити дозвіл на підключення для програми , дозволу на порту 21,22.

Windows Firewall with Advanced Security->
Inbound Rules->
Add Rule->
Program->
"Select Filezilla path with Browse button"->
Allow the Connection

це спрацювало. Я створював правила порту до цього замість правил програми
Арман Біматов,


1

Я зазнав тієї ж проблеми з FZ-клієнтом, поки мій ноутбук підключався через WLAN та DSL / маршрутизатор. У налаштуваннях підключення Менеджера сайтів до мене було застосовано Host: ftp.domain-name, Encryption: Використовувати лише звичайний FTP (незахищений) та User: username @ domain-name. Тоді FTP-клієнт вдало підключився до мого сервера веб-сайту. Більше інформації про з'єднання FTP можна знайти в CPanel веб-сервера. Сподіваюся, це допомагає.


0

У мене також виникла проблема після оновлення до 3.10. У мене був versoin 3.6.02, який бовтався і встановив це. Проблема вирішена.


0

У мене була проблема з моїм сервером, розміщеним у хмарі. Мені потрібен сервер лише пару разів на рік, і тому при завантаженні сервера IP-адреса змінюється. Потім нову IP-адресу потрібно оновити в налаштуваннях пасивного режиму FTP Server!

Остання версія Filezilla чудово працює!


0

Якщо ви використовуєте VestaCP, можливо, ви захочете дозволити порти 12000-12100 TCP на своєму брандмауері Linux.

Це можна зробити в налаштуваннях VestaCP.


0

Перевірте, чи однакова ip-адреса на маршрутизаторі однакова з адресою на ftp-сервері. Якщо ні, переконайтеся, що це те саме. Це має працювати чудово.


0

У моєму випадку спрацювало перезапуск маршрутизатора, який я використовував для підключення до Інтернету. Я думаю, що занадто багато з'єднань йшло з тієї ж IP-адреси, і коли я перезапустив свій маршрутизатор, можливо, був призначений новий IP, і тепер все працює нормально, а пасивний режим дає хорошу швидкість у списку каталогів.



-1

Тепер у FileZilla створіть новий обліковий запис 1. Хост - це FTP-адреса - наприклад, ftp.somewhere.com 2. Протокол - «Протокол передачі файлів SFTP-SSH» 3. Ідентифікатор користувача - ваш ідентифікатор користувача Bluehost 4. Пароль - ваш пароль Bluehost 5. Клацніть «Підключитися», щоб встановити зв’язок із переліком каталогів!

Це вирішить проблему з 3.10 для мене. І я радий мати безпечний доступ для всіх своїх майбутніх передач файлів. Це повинно запобігати проблемам безпеки в майбутньому.


-1

Мені це вдалося:

Загальне -> Шифрування -> Використовуйте лише звичайний FTP

Налаштування передачі -> Режим передачі -> Активний

Вважайте, що він дуже небезпечний і повинен використовуватися лише для тестування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.