Linux не подключается к ftp

Обновлено: 04.07.2024

Для запуска сервиса требуется добавить его в автозагрузку. Начиная с версии Ubuntu 15.04 используется Systemd, поэтому для добавления vsftpd в автозапуск надо ввести следующие команды:

В Ubuntu Server может использоваться файервол ufw. Тогда вам потребуется разрешить порты 20 и 21

Конфигурационный файл содержит много параметров настройки. Информация по каждому параметру доступна в этом же файле. В качестве альтернативы вы можете посмотреть системное руководство по команде

для уточнения деталей по каждому параметру.

Настройка анонимного доступа по FTP

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

Настройка vsftpd по умолчанию не разрешает анонимную загрузку. Если вы хотите разрешить анонимную загрузку, измените в /etc/vsftpd.conf следующее:

В процессе установки создается пользователь ftp с домашним каталогом /srv/ftp. Это каталог по умолчанию для FTP .

Если вы желаете поменять его расположение, например, на /srv/files/ftp, просто создайте новый каталог и измените домашний каталог пользователя ftp:

После изменений перезапустите vsftpd:

Под конец скопируйте все файлы и каталоги, которые вы хотите сделать доступными для анонимного FTP в /srv/files/ftp (или /srv/ftp, если вы хотите оставить настройки по умолчанию).

Разрешение анонимному пользователю загружать файлы может оказаться серьезной угрозой безопасности. Лучше не разрешать анонимную загрузку файлов на сервера с прямым доступом из интернета.

Настройка авторизованного доступа по FTP

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

Для аутентификации локальных пользователей надо раскоментировать строчку

По умолчанию vsftpd настроен на аутентификацию системных пользователей с возможностью получать файлы. Если вы хотите пользователям разрешить загружать файлы, измените в /etc/vsftpd.conf:

после чего перезагрузите vsftpd:

Защита FTP

Ограничение пользователей

В /etc/vsftpd.conf существуют опции, помогающие сделать vsftpd более безопасным. Например, данная опция позволяет поместить локального пользователя в chroot() «заточение», выше которого (по дереву каталогов) он не сможет подняться.

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

Если вы сняли комментарии со всех трёх строчек, то пользователи из списка не будут ограничены своими домашними каталогами, в отличии от пользователей не вошедших в список

Если при попытке подключения вы видите ошибку 1) :

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

Запретить запись в домашний каталог локальному пользователю (подходит не всем и не всегда) Отменить проверку записи в домашний каталог прописав в конфиге 2) Прописать /home каталогом, куда будут попадать локальные пользователи после входа на FTP сервер. Тогда каждый из них будет иметь возможность писать только в свой домашний каталог

Шифрование

Для настройки FTPS, добавьте в конец файла /etc/vsftpd.conf следующее:

Также обратите внимание на опции сертификата и ключа:

По умолчанию эти опции установлены в значения, предоставленные пакетом ssl-cert. Для рабочей среды они должны быть заменены на сертификат и ключ, созданные для определенного компьютера. Для дополнительной информации смотрите раздел Сертификаты.

Теперь перегрузите vsftpd и неанонимные пользователи будут использовать FTPS:

Это необходимо, поскольку по умолчанию vsftpd использует авторизацию PAM, а файл настроек /etc/pam.d/vsftpd содержит:

Модуль PAM shells ограничивает доступ к оболочкам, перечисленным в файле /etc/shells.

Что такое FTP

FTP (File Transfer Protocol) – это протокол, который используется для передачи файлов. Чаще всего вы можете услышать эту аббревиатуру в отношении глобальной сети – утилиты, работающие по протоколу FTP, помогают загружать файлы на серверы, что особенно полезно, если вы администрируете сайты. Если выражаться более простым языком, то данный протокол позволит вам подключиться к какой-либо удаленной папке и работать с ней, в том числе загружая на нее (или из нее) нужные вам файлы. FTP-сервер – это любой сервер, который поддерживает данный протокол.

Для того чтобы воспользоваться FTP, вам только нужно убедиться, что сеть поддерживает TCP/IP (по этому протоколу, например, работает Интернет).

Особенности подключения по FTP

Почему? Причин много. Например, при обрыве соединения – а бывает, как мы знаем, всякое – FTP позволит вам потом докачать файл, а не начинать его скачивание заново. Да и само скачивание происходит не по одному, а сразу по нескольким потокам параллельно. Для маленьких файлов это не очень важно, а вот если вы собираетесь загружать массивные файлы, то передача по FTP будет очень кстати.

Что такое FTP-клиент

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

Для подключения клиента к удаленному серверу нужны следующие данные:

  • логин,
  • пароль,
  • хост (имя сервера),
  • номер порта (по умолчанию 21 для FTP-соединения).
Если вам неудобно пользоваться FTP-клиентом, то есть альтернатива: вы можете загружать и скачивать файлы с удаленного сервера прямо в браузере с помощью файлового менеджера в панели управления хостингом Timeweb. Такая технология называется WebFTP.

Выше мы уже обговорили, что протокол FTP удобен для передачи файлов, однако он имеет много уязвимостей в защите и является небезопасным. Иными словами, незашифрованные данные, которые вы передаете по этому протоколу, могут быть перехвачены кем угодно. Если речь идет о личных данных (логинах, паролях), то вы можете представить, чем это может вам обернуться. Поэтому для того, чтобы обезопасить свои данные от кражи, необходимо использовать безопасные протоколы FTPS или SFTP. Filezilla отличается тем, что поддерживает эти протоколы (для того чтобы использовать безопасный протокол, в программе необходимо выбрать «Файл» -> «Менеджер сайтов» -> во вкладке «Общие» изменить протокол с FTP на SFTP).

Другими преимуществами Filezilla являются бесплатное использование, поддержка русского языка и кроссплатформенность (можете установить это ПО на машины с Linux, Windows или даже Mac OS X). Чуть подробнее почитать можно на русскоязычном сайте. Там же вы найдете и документацию клиента, а также полезные статьи.

Как работать с FTP на примере Filezilla

Работать с FTP-клиентом намного проще, чем может показаться на первый взгляд. Зачастую пользователи предпочитают проверенные пути вместо того, чтобы потратить несколько минут на изучение новой технологии. Поэтому постараюсь в этой статье максимально понятно рассказать о том, как же правильно использовать Filezilla в своих целях.

Установить Filezilla вы можете прямо с официального сайта.

Настройка Filezilla

Для того чтобы настроить Filezilla, вам необходимо знать свой логин и пароль от панели управления, а также название хоста. Timeweb присылает эту информацию после регистрации в приветственном письме (там отдельно будут указаны данные для использования FTP), а также на главной странице панели управления (смотрим блок «Доступ по FTP»):

Панель управления Timeweb

Теперь открывайте Filezilla и вводите все эти данные в соответствующие строки:

Доступы FTP

В поле «Порт» напишите 21 (этот порт использует FTP). Затем нажимайте «Быстрое соединение».

Внимание! Иногда на этом этапе у вас может возникнуть ошибка ENETUNREACH (Сеть недоступна), из-за которой соединение не будет установлено. Решается данная проблема легко – выключением (или временным приостановлением) антивирусной программы.

Если соединение установлено правильно, то в блоке справа внизу вы увидите список файлов, которые доступны на вашем аккаунте (по сути, то же самое вы увидите, если зайдете в раздел «Файловый менеджер» панели управления хостингом).

Но каждый раз при запуске Filezilla заново вводить эти данные, согласитесь, неудобно, поэтому мы сделаем следующее:

  1. Открываем «Менеджер сайтов».
  2. Нажимаем «Новый сайт» (по желанию переименовываем его).
  3. Тип входа: вместо «Анонимный» ставим «Нормальный».
  4. Вводим все данные.
  5. Нажимаем «ОК» или «Соединиться»

Тип входа FTP

Теперь после запуска программы вы можете просто нажать на стрелку вниз рядом со значком «Менеджер сайтов», выбрать аккаунт и подключиться к нему. Это особенно удобно, если у вас несколько сайтов на разных серверах.

Кстати, во вкладке «Дополнительно» вы можете указать путь к какой-то конкретной папке на сервере (строка «Удаленный каталог по умолчанию), и тогда при каждом подключении вы будете попадать не в корневой каталог, а в заданную папку.

Управление файлами

Я думаю, что интуитивно вы уже разобрались, что папки слева – это то, что есть на вашем компьютере. А справа – то, что находится на хостинге.

Вы можете заходить в них, смотреть и т.д. – в общем, как на обычном компьютере. Точно так же осуществляется и перенос файлов/папок между вашим компьютером и сервером – просто перетащите нужный вам элемент из одной области в другую (drag-and-drop). Типичный файловый менеджер.

Также вы можете кликом правой кнопки мыши по файлу закачать его на сервер – элемент будет загружен в открытую справа папку на сервере. При этом если файл не загрузился мгновенно (имеет большой вес), то внизу, во вкладке «Файлы в задании», вы увидите зеленую полосу загрузки:

Обмен данными в Filezilla

Чтобы создать папку на сервере, нажмите правую кнопку мыши в области справа, где отображены папки и файлы сервера, далее выберите «Создать каталог» и присвойте ему любое название (но обязательно латинскими символами!).

Хотите удалить или переименовать? Все точно так же, щелчком правой кнопки мыши.

Аналогично вы можете и перейти к редактированию файлов (пункт «Просмотр/Правка»), при этом можно использовать как программу по умолчанию, так и выбрать какой-нибудь редактор. Чтобы настроить автоматическое открытие файлов другим редактором, выберите пункт «Редактирование» в верхнем меню, затем «Формат файлов» – и сделайте активным пункт «Использовать следующий редактор» (с последующим выбором нужной вам программы):

Подключение внешнего редактора FTP

FTP-клиент позволяет настраивать и права доступа: для этого на элемент нужно нажать правой кнопкой мыши и выбрать «Права доступа к файлу».

Работать с файлами можно и в отложенном режиме: допустим, вы выбрали файлы, которые вам нужно перенести на сервер – выберите их, нажмите правую кнопку мыши и строчку «Добавить файлы в задание» (даже в том случае, если вы не подключены к серверу). Они отобразятся в блоке ниже. Затем подключитесь к серверу, снова кликните правой кнопкой по ним и выберите «Выполнить задание» - все файлы будут перенесены на сервер.

Отдельно стоит рассказать о синхронизированном просмотре. Для того чтобы его активировать, вам нужно нажать соответствующий значок чуть ниже верхнего меню (под надписью «Закладки»):

Синхронизированный просмотр Filezilla

Зачем это использовать? Допустим, у вас на компьютере есть папка с файлами вашего сайта – точно такими же, как и на хостинге. Файлов, как и папок, может быть очень много – и вот для удобства ориентирования в них и был добавлен такой режим: переходя из папки в папку в одном окне (допустим, серверном), вы будете точно так же, синхронно переходить в окне, где отображается содержимое вашего компьютера. Режим позволит вам не запутаться во множестве этих папок. Но, естественно, действует он лишь в том случае, если названия директорий полностью совпадают.

Заключение

FTP-соединение превращает ваш сервер в директорию, с которой удобно работать при помощи специального файлового менеджера, т.е. FTP-клиента. Освоить такую программу вы сможете за 10 минут!

Самый главный недостаток FTP – это уязвимость перед взломами и DDoS-атаками. Не советую хранить на таком сервере конфиденциальную информацию.

Надеюсь, моя статья оказалась вам полезной. Если остались вопросы по работе FTP-сервера или FTP-клиента, спрашивайте – обязательно отвечу!

По умолчанию при установке ОС Linux из любых шаблонов на сервере доступен только суперпользователь root. Подключение с данными root по протоколу FTP невозможно в целях безопасности (используется незашифрованный пароль). При установке шаблонов ОС типа minimal сервер FTP также не будет включён в установочный пакет. Если у Вас возникла необходимость быстрой ручной настройки нового FTP-пользователя при отсутствии на сервере панели управления ISPmanager, нужно сделать следующее.

Для начала подключитесь к серверу по протоколу SSH с правами root.

Установка FTP-сервера proftpd

CentOS:

Установка EPEL репозитория

Debian/Ubuntu:

Добавляем FTP в автозапуск сервера и запускаем его

Добавление разрешающих правил для брандмауэра

В зависимости от используемой утилиты управления

Iptables:

firewalld:

Ограничение FTP-пользователей пределами домашнего каталога

Данная статья подразумевает работу c конфигурацией ProFTPd «по умолчанию», а в этом случае пользователь может выходить за пределы своего домашнего каталога, и хотя прав на работу с другими папками у него, скорее всего, нет, но при недостаточно строгой конфигурации сервера это может представлять угрозу безопасности. Решить эту проблему можно добавив одну строку в файл proftpd.conf :

Добавить её можно в конец файла. После сохранения перезапустите FTP-сервер:

Создание нового FTP-пользователя

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

Создайте нового пользователя

Командами выше мы создали пользователя (имя_пользователя нужно заменить на незанятое имя) и соответствующую группу, назначили и создали (ключ -m можно опустить, если каталог уже существует) домашний каталог /home/имя_папки и выбрали /bin/false в качестве командной оболочки пользователя, тем самым отключив её в целях безопасности. Командой passwd мы задали пользователю необходимый пароль.

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

Дополнительная информация

Доступ к командной оболочке (shell)

Если вы всё-таки хотите предоставлять пользователю доступ к командной оболочке, то указывайте путь до любой действующей вместо /bin/false , например:

Пользователям обычного протокола FTP не нужен доступ к shell, поэтому безопаснее его не предоставлять.

Расположение proftpd.conf

Используйте этот файл для более детальной настройки своего FTP-сервера при необходимости.

Ограничение прав FTP-пользователя

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

В данном случае второе имя_пользователя является именем группы, которое по умолчанию совпадает с созданным вами именем пользователя.

Статья давно не обновлялась, поэтому информация могла устареть.

Содержание

В шаблонах с ISPmanager данная опция, как правило, прописана по-умолчанию

Так как протокол ftp не предполагает шифрования то во время передачи сравнительно легко украсть пароль. Из соображений безопастности доступ пользователем root по ftp отключен. Это стандартная настройка. Если вам всё же необходимо иметь доступ к серверу через ftp протокол, то используйте протокол SFTP.

Debian

Установлен ли FTP-сервер

Удостоверьтесь, что сервер установлен и сервис запущен, в Debian вы можете использовать команду dpkg:

Или запустить следующую команду:

В любом случае, если ftp пакет установлен, будет возвращен ответ сервера, если ftp не установлен, команда покажет вам это, или не будет ответа вообще, в таком случае FTP сервер необходимо установить:

Запущен ли FTP-сервер (открыт ли 21 порт)?

Подключитесь к серверу, используя ssh, и попробуйте команду telnet (посмотреть открыт ли 21 порт):

Следующим шагом запускаем команду netstat -tulpn, смотрим запущен ли 21 порт:

Или попробуйте следующую команду:

Если порт не открыт, запустите ftp-сервис/сервер. Используйте следующую команду:

Запрет для пользователя

Если у пользователя не получается использовать ваш ftp сервер, удостоверьтесь, что он имеет разрешение. Файл /etc/ftpusers - список пользователей, которым запрещен доступ по ftp, убедитесь, что пользователь не в этом файле.

Security или Firewall

Убедитесь, что firewall/tcpd не блокирует подключение к вашему ftp серверу. Запустите следующую команду:

Если в ответе вы увидите, что 21 порт заблокирован firewall, вам нужно использовать iptables rules для порта 21. Так же убедитесь, что файл /etc/hosts.deny не блокирует подключение к 21 порту для вашего хоста.

CentOS

Установлен ли FTP-сервер?

Удостоверьтесь, что сервер установлен и сервис запущен, в CentOS вы можете использовать команду rpm:

В любом случае, если ftp пакет установлен, будет возвращен ответ сервера, если ftp не установлен, команда покажет вам это, или не будет ответа вообще, в таком случае FTP сервер необходимо установить:

Запущен ли FTP-сервер? (открыт ли 21 порт)

Подключитесь к серверу, используя ssh, и попробуйте команду telnet (посмотреть открыт ли 21 порт:

Следующим шагом запускаем команду netstat -tulpn, посмотреть запущен ли 21 порт:

Или попробуйте следующую команду:

Если порт не открыт, запустите ftp-сервис/сервер. Используйте следующую команду: Centos 6

Запрет для пользователя.

Если у пользователя не получается использовать ваш ftp сервер, удостоверьтесь, что он имеет разрешение. Файл /etc/ftpusers - список пользователей, которым запрещен доступ по ftp, убедитесь, что пользователь не в этом файле.

Security или Firewall

Убедитесь, что firewall/tcpd не блокирует подключение к вашему ftp серверу. Запустите следующую команду:

Если в ответе вы увидите, что 21 порт заблокирован firewall, вам нужно использовать правила iptables для порта 21. Так же убедитесь, что файл /etc/hosts.deny не блокирует подключение к 21 порту для вашего хоста.

Ubuntu

Установлен ли FTP-сервер?

Удостоверьтесь, что сервер установлен, в Ubuntu вы можете использовать команду dpkg:

В любом случае, если ftp-пакет установлен, будет возвращен ответ сервера, если ftp не установлен, команда покажет вам это, или не будет ответа вообще, в таком случае FTP-сервер необходимо установить:

Запущен ли FTP-сервер? (открыт ли 21 порт)

Подключитесь к серверу, используя ssh, и попробуйте команду telnet (посмотреть открыт ли 21 порт):

Следующим шагом запускаем команду netstat -tulpn, посмотреть запущен ли 21 порт:

Или попробуйте следующую команду:

Если порт не открыт, запустите FTP-сервис/сервер. Используйте следующую команду:

Запрет для пользователя.

Если у пользователя не получается использовать ваш FTP-сервер, удостоверьтесь, что он имеет разрешение. Файл /etc/ftpusers - список пользователей, которым запрещен доступ по FTP, убедитесь, что пользователь не в этом файле.

Security или Firewall

Убедитесь, что firewall/tcpd не блокирует подключение к вашему ftp-серверу. Запустите следующую команду:

Читайте также: