- Установка и настройка FTP-сервера в Linux
- Установка vsFTPd
- Настройка vsFTPd
- Настройка в режиме анонимного доступа
- Настройка в режиме авторизованного доступа
- Ограничение пользователей в своих домашних каталогах
- Защита данных с помощью SSL
- Основные FTP команды в Linux
- FTP соединение
- Команды для навигации
- Удаление файлов на ftp сервере
- Скачивание файлов с ftp
- Загрузка файлов на ftp сервер
- Как подключиться к FTP-серверу
- Данные для доступа к FTP-серверу
- Как подключится к FTP через Проводник Windows
- Читайте также
- Подключение через командную строку Windows
- FTP-подключение через любой браузер
- Как подключиться к FTP с помощью FileZilla
- Подключаемся с помощью Total Commander
- Как подключиться к FTP-серверу через терминал Linux
- Подключение к FTP через сайт хостинга
- Заключение
Установка и настройка FTP-сервера в Linux
File Transfer Protocol, т. е. FTP – протокол передачи файлов и, как понятно из полного названия, предназначен для передачи файлов между удалёнными компьютерами через сеть. Несмотря на то, что сам протокол FTP является на сегодняшний день не самым совершенным из-за того, что передаваемые данные не шифруются, однако это не делает его устаревшим. Кроме того всё-таки к FTP возможно применять криптографическую защиту на основе протокола SSL, что и делает FTP достойным инструментом для передачи файлов.
Поскольку FTP работает по схеме клиент-серверного взаимодействия, то умелая и надёжная реализация протокола (да и вообще системы) в состоянии обеспечить ему надёжную защиту, высокую скорость и, как следствие — популярность, что и можно наблюдать на сегодняшний день, ведь большинство крупных проектов, таких как ftp.gnu.org, ftp.suse.com, ftp.redhat.com, ftp.gnome.org и т. д., используют для распространения программного обеспечения со своих серверов именно FTP. Надо заметить, что такой популярностью FTP обязан, в большей степени, одной из своих многочисленных реализаций — vsFTPd. Это FTP- сервер, поддерживающий работу с самыми современными технологиями по защите данных — SSL и IPv6, его реализация совмещает в себе высокую надёжность, стабильность, скорость работы и передачи данных, а также гибкую настройку работы сервера и широкий функционал. Разработчиком vsFTPd является Крис Эванс — профессиональный исследователь в сферах защиты данных и информационной безопасности. vsFTPd является FTP-сервером по-умолчанию практически во всех Linux-системах, поскольку, как уже упоминалось, помимо надёжности и высокой скорости работы, обладает большими функциональными возможностями, самыми значимыми из которых являются:
- Работа с виртуальными пользователями.
- Работа с виртуальными IP-адресами.
- Конфигурирование пользователей.
- Поддержка
- SSL-шифровние для защиты передаваемых данных.
- Контроль полосы пропускания.
В данной статье рассматривается установка и настройка FTP-сервера на примере vsFTPd, который, кстати, является свободно распространяемым программным обеспечением (ПО) с открытым исходным кодом. Официальная страница проекта: https://security.appspot.com/vsftpd.html.
Установка vsFTPd
Установить Vsftd в Debian-ориентированных дистрибутивах Linux позволяет команда:
Также полезно будет установить и простой FTP-клиент для тестирования соединения и передачи файлов:
Для дистрибутивов на основе RPM-пакетов, CentOS, RedHat:
Примечание: yum – это пакетный менеджер, тот же самый apt, но адаптированный для управления пакетами формата *.rpm.
После установки для vsFTPd будет доступна техническая документация, которая обычно находится в каталоге /usr/share/doc/vsftpd/examples – здесь приведены варианты различных конфигураций, в зависимости от характера и масштабов использования vsFTPd. Ознакомиться с документацией можно также с помощью команды:
Обычно после установки демон vsFTPd автоматически запускается, убедиться в этом можно с помощью следующих команд:
Запуск, перезапуск и остановка сервера:
Для включения демона vsftpd в автозагрузку используется команда:
Аналогично и с командой service.
Если vsFTPd используется в серверных дистрибутивах, в которых часто работает фаервол, например ufw, то ещё может понадобиться разрешить использование портов 20 и 21:
Настройка vsFTPd
Конфигурационным файлом для настройки vsFTPd является файл vsftpd.conf, который обычно находится в каталоге etc/. Ознакомиться с его одержимым можно командой cat:
На всякий случай полезно перед редактированием оригинального файла настроек сделать его резервную копию:
$ sudo cp /etc/vsftpd.conf vsftpd.conf.backup
FTP-сервер vsFTPd предусматривает два основных варианта работы: с анонимными и авторизованными пользователями. Первый вариант считается «более безопасным», но только потому, что для обеспечения надёжной защиты практически ничего настраивать и не нужно. Но при грамотной организации авторизованного доступа, предполагающего работу с FTP локальных пользователей системы, можно обеспечить безопасность ничуть не хуже, чем при использовании анонимного доступа.
Настройка в режиме анонимного доступа
Работа vsFTPd в данном режиме заключается в том, что действия с файлами на удалённом сервере производятся одним определённым по умолчанию пользователем, например, пользователем с именем «ftp» или «anonymous», при этом в качестве пароля используется e-mail.
Чтобы включить анонимный доступ по FTP нужно в фале vsftpd.conf определить значение «YES» для соответствующей директивы:
Теперь для управления файлами будет использоваться определённый каталог (обычно это /srv/ftp) и определённый пользователь — обычно ftp.
Можно определить и другое расположение файлов для анонимного доступа по FTP, т. е. изменить домашнюю директорию пользователя ftp:
Если нужно, чтобы анонимные пользователи могли ещё и загружать файлы на удалённый сервер, то это позволит сделать директива:
Теперь можно скопировать необходимые для анонимного доступа файлы в домашнюю папку пользователя ftp и перезапустить демон vsftpd:
$ systemctl restart vsftpd
Обычно этого набора настроек достаточно для организации анонимного FTP-доступа. Для проверки соединения можно выполнить команду ftp address_host:
что в случае успешного выполнения даст примерно такой вывод:
Настройка в режиме авторизованного доступа
Для авторизованного доступа проще всего включить использование локальных учётных записей на сервере. Для этого нужно указать следующую директиву в файле конфигурации vsftpd.conf:
Для задания разрешения локальным авторизованным пользователям загружать файлы на сервер указывается директива:
Примечание: для авторизации локальных пользователей используется пароль пользователя для локального входа в систему.
Теперь нужно перезапустить vsftpd для активации сделанных изменений:
Ограничение пользователей в своих домашних каталогах
Для определения пользователей, которым разрешён доступ только к своему домашнему каталогу существуют директивы:
Первая включает использование списка пользователей, вторая определяет файл, в котором в каждой строке перечислены пользователи с доступом только к своим домашним каталогам. Если при этом ещё указать директиву:
которая «запирает» в chroot() локальных пользователей и выше своих домашних каталогов они подняться не смогут, то в этом случае пользователи в файле vsftpd.chroot_list ограничиваться своими домашними каталогами не будут, в отличии от тех, кто в этот список не внесён.
При распределении FTP-доступа среди пользователей может возникнуть ошибка, которая возникает из-за того, что локальный пользователь имеет права на запись в корне домашнего каталога, что по соображениям безопасности недопустимо. Эта ошибка выглядит следующим образом:
Лучшим способом исправить эту ошибку является указание некоего общего корневого каталога, куда при подключении будут попадать все пользователи, имея доступ лишь к своим домашним поддиректориям, например:
Можно также для устранения этой ошибки отключить проверку на запись в домашний каталог:
Но всё же это стоит делать лишь тогда, когда есть чёткое понимание, зачем это нужно для конкретной ситуации.
Защита данных с помощью SSL
Чтобы иметь возможность шифровать передаваемые данные, следует настроить vsFTPd в режиме FTPS. Это та же самая передача данных по FTP, но организованная поверх SSL – протокола. Шифрующего и проверяющего данные с помощью сертификатов и ключей.
Для включения режима FTPS нужно задействовать следующую директиву:
По умолчанию в конфигурационном файле vsftpd.conf также присутствуют опции, определяющие сертификаты и ключи, например:
Эти сертификат и ключ необходимо заменить. Для использования FTPS необходимо использовать сертификат и ключ. Cгенерированные (или полученные) для конкретного сервера или компьютера.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Основные FTP команды в Linux
FTP (File Transfer Protocol — протокол передачи файлов) — это популярный сетевой протокол, который используется для копирования файлов с одного компьютера на другой в локальной сети, либо в сети Интернет. FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, и даже до TCP/IP, в 1971 году.
Протокол FTP уязвим, то есть FTP не может зашифровать свой трафик, все передачи — открытый текст, поэтому имена пользователей, пароли, команды и данные могут быть прочитаны кем угодно, способным перехватить пакет по сети. Для безопасной передачи данных, используется протокол SFTP (Secure File Transfer Protocol). В отличие от стандартного FTP он шифрует и команды, и данные, защищая пароли и конфиденциальную информацию от открытой передачи через сеть. По функциональности SFTP похож на FTP, но так как он использует другой протокол, клиенты стандартного FTP не могут связаться с SFTP-сервером и наоборот. Далее рассмотрим основные команды для работы с FTP программой.
FTP соединение
FTP клиент входит в большинство дистрибутивов Linux. Начнем с запуска программы и ftp соединением и, конечно, рассмотрим основные команды для скачивания с фтп-сервера и загрузки на фтп, создание директорий, удаление файлов и т.п. В этой статье опишем лишь основные команды, а в конце статьи приведем хелп и мануал из консоли — Вы всегда можете узнать о назначении команды и ее синтаксисе, а также обо всех доступных командах на конкретном ftp-сервере.
Для начала фтп соединения достаточно ввести команду ftp например:
После нажатия клавиши enter вывод команды будет следующим:
Другой способ для соединения — это запуск ftp из консоли, а после этого соединение с ftp-сервером с помощью команды open :
Кроме того, возможно соединиться и по ip:
Или с таким обращением ftp user@ftp.site.com , то есть:
Далее необходимо ввести логин и пароль ftp-соединения.
После успешной авторизации будет сообщение такого вида:
Из сообщения видно, что для передачи файлов используется двоичный (бинарный) тип передачи. Двоичный режим передачи файлов — это передача файлов в том виде, в котором они хранятся на FTP сервере. Режим Ascii (текстовый) используется для передачи только текстовых файлов. Вы можете вводить команды ascii или binary для переключения между режимами передачи. Бинарный режим (binary) необходимо использовать для всех нетекстовых типов файлов — изображения, архивы, программы и т.д.
Команды для навигации
Итак, перейдем к командам для навигации и перехода по каталогам ftp-сервера:
pwd — команда покажет текущую директорию на ftp-сервере:
ls — команда покажет список файлов и каталогов в текущей директории:
cd – команда для перехода в нужную директорию:
Проверяем командой pwd :
mkdir — создание новой директории (каталога):
rmdir — удаление директории (каталога):
Удаление файлов на ftp сервере
delete — удаляет файл на удаленном ftp сервере:
Скачивание файлов с ftp
get — скачать файл на локальную машину. get fileName или get fileName newFileName
Скачиваем file.zip на локальную машину как file2.zip:
С помощью команды get с удаленного ftp сервера файлы копируются в текущую локальную директорию. Чтобы изменить текущую локальную директорию нужно использовать команду lcd :
lcd – изменить текущую директорию на локальной машине:
Чтобы скачать несколько файлов с удаленного ftp сервера на локальную машину можно использовать команду mget :
Скачивание каждого файла необходимо подтверждать (да / нет) y/n .
Еще один вариант скачивания mget :
Загрузка файлов на ftp сервер
put — команда для загрузки одного файла на ftp сервер:
Для загрузки нескольких файлов сразу можно использовать команду mput :
Загрузку каждого файла необходимо подтверждать y / n (да / нет).
Еще один вариант команды mput :
Если на фтп загружаются файлы большого размера, то неплохо было бы наблюдать за ходом загрузки. Для этого можно использоваться команды hash и tick .
hash — команда после которой ftp будет печатать символ «#» каждые 1024 байт данных:
tick — команда будет отображать счетчик байтов:
Вот и весь базовый набор команд для работы с ftp в консоле. Для просмотра списка доступных команл на данном FTP сервере можно использовать команду help :
Также, можно получить короткую справку по каждой команде help :
И в завершение, две команды, которые выше quit или bye для закрытия ftp-сессии и выхода:
Подробную информацию с описанием команд можно получить с помощью man ftp в командной строке:
Источник
Как подключиться к FTP-серверу
FTP (File Transfer Protocol) представляет собой протокол удаленной передачи файлов. С его помощью можно загрузить на сервер и скачивать с него же данные любого типа и размера, создавать или удалять файлы и папки.
В Windows, Linux и macOS подключиться к FTP-серверу можно с помощью встроенных средств и сторонних программ разного назначения. Полноценная работа со всеми средствами возможна только через специальные приложения, называемые FTP-клиентами. Теперь подробнее расскажем обо всех этих способах.
Данные для доступа к FTP-серверу
При подключении к FTP-серверу очень важно вводить правильные данные. Возьмем в качестве примера Timeweb. После регистрации на почту приходят два письма. Письмо с данными выглядит вот так:
Теперь о том, какие данные необходимо иметь под рукой:
- логин,
- пароль,
- ссылка на FTP-сервер (указывается в том же письме),
- порт (по умолчанию устанавливается значение 21).
Как подключится к FTP через Проводник Windows
Сначала рассмотрим, как подключиться к FTP-серверу через программу «Проводник» в Windows 10. Здесь ничего дополнительно устанавливать не надо, просто открываем системный файловый менеджер. В левой панели находим значок «Этот компьютер» и жмем по нему правой кнопкой мыши для вывода контекстного меню. В списке выбираем элемент «Добавить новый элемент в сетевое окружение».
В результате откроется окно мастера добавления сетевого расположения. В начальном окне просто нажимаем «Далее».
Следом надо выбрать его дальнейшее местоположение, но в этом окне нам доступен только один вариант. Для продолжения снова нажимаем на кнопку «Далее».
В этом окне понадобится указать ссылку на сетевой ресурс, к которому планируется провести подсоединение. Важно соблюдать предписанный формат (чуть ниже есть несколько примеров). В поле вводим адрес/ссылку и вновь идем дальше.
Теперь понадобится ввести в поле имя пользователя. Пароль заранее вводить не нужно, он будет запрашиваться только при подключении. Если на вашем хосте есть такая возможность, вход можно осуществить анонимно, отметив соответствующую галочку.
В самом конце даем название новому сетевому окружению.
На этом настройка завершена. При необходимости можно поставить галочку, чтобы сразу после нажатия на кнопку «Готово» открыть указанный сервер и приступить к работе.
Новое подключение теперь находится в «Сетевых расположениях» в разделе «Этот компьютер».
Теперь подключаемся – открываем только что созданное соединение. Открывается маленькое окошко, где мы вводим пароль, затем жмем на кнопку «Вход».
Если все данные введены успешно, откроется папка сервера. Можно приступать к работе.
Читайте также
Подключение через командную строку Windows
Теперь расскажу, как подключиться к FTP-серверу в Windows с помощью командной строки. Этот способ многим может показаться не очень удобным, потому что вручную придется вбивать команды на загрузку документов, открытие папок и их скачивание. А для входа следуем указанной ниже последовательности.
- Вводим команду ftp и жмем на клавишу Enter для подтверждения.
- Задаем команду open наименование_ftp_хоста.
- Вводим логин пользователя. Можно осуществить анонимный вход, просто введя Anonymous.
- Вбиваем пароль. В случае с анонимом оставляем это поле пустым и жмем снова Enter.
Теперь подробнее по командам:
- dir – просмотр содержимого сервера.
- cd «имя_папки» – открытие указанной папки.
- put «путь_к_файлу» – загрузка этого документа с компьютера на сервер.
- get «наименование_файла.формат» – скачивание с хоста на компьютер.
- quit – отключение от FTP-сервера.
FTP-подключение через любой браузер
Подключиться к FTP-серверу можно и через браузер на любых операционных системах. В таком случае будет доступна лишь часть функций. Необходимо ввести в адресной строке IP-адрес хоста, только с добавлением приставки «ftp://». Нажимаем на клавишу Enter. Дальше потребуется ввести имя пользователя и пароль, а потом нажать на кнопку «Вход».
Как подключиться к FTP с помощью FileZilla
FileZilla – наиболее востребованный и рекомендуемый FTP-клиент, бесплатный и простой в использовании. Подключиться к FTP-серверу через FileZilla можно вне зависимости от операционной системы, установленной на компьютере.
Сперва потребуется скачать приложение на официальном сайте. Есть версии для Linux, Windows (портативная и установочная) и macOS. Просто выбираем нужный вариант и жмем по нему для начала закачки.
Устанавливаем приложение и открываем его. В верхней панели вводим следующую информацию:
- Хост. Это может быть IP-адрес или ссылка.
- Логин пользователя, предварительно высланный на почту сервисом.
- Пароль.
- Порт. Оставляем пустым или устанавливаем значение 21.
После того как все нужные поля будут заполнены, нажимаем на кнопку «Быстрое соединение».
После открытия каталога можно приступать к загрузке и скачиванию необходимых данных. Чтобы не вводить каждый раз данные для подключения, следует воспользоваться менеджером сайтов, который доступен в меню «Файл».
Подключаемся с помощью Total Commander
Вам потребуется скачать и установить приложение Total Commander. Рекомендуем делать это с официального сайта. После завершения установки открываем приложение. Переходим во вкладку «Сеть» и выбираем там пункт «Соединиться с FTP-сервером». Для этого действия, кстати, предусмотрена комбинация горячих клавиш – Ctrl + F.
В новом окне нажимаем на кнопку «Добавить». Дальше вводим имя нового соединения, адрес хоста, учетную запись и пароль. Нажимаем на кнопку ОК, чтобы сохранить всю введенную информацию.
Новое подключение отразится в списке. Остается только соединиться с сервером, нажав на соответствующую кнопку.
Как подключиться к FTP-серверу через терминал Linux
В Linux к FTP можно подключиться через системное приложение «Терминал». Это очень похоже на использование командной строки в Windows. Последовательность абсолютно та же – набираем команду ftp и активируем ее нажатием на кнопку Enter. Потом пишем open ссылка_на_хост. Не забываем, что затем надо указать логин и пароль.
Вот примеры доступных опций:
- Is – отображение списка файлов и папок.
- get – скачивание файла.
- mget – скачивание документов определенного формата. Например, mget * – все данные в каталоге, mget *, php – файлы формата php.
- put – загрузка файла на ресурс.
- mput – загрузка нескольких документов единого формата.
- mkdir – создание нового каталога.
- rmdir – удаление каталога.
- delete – удаление файла.
- bye – завершение работы.
- close – выход из текущего сеанса и возврат в контекст командной строки FTP.
- status – отображение статуса FTP клиента.
В Linux предусмотрен и другой вариант подключения к FTP. Сначала надо установить нужный пакет, дав вот такой запрос:
Следом нужно предоставить права на определенную папку:
Теперь производится монтирование ftp-директории:
Если работать необходимо от имени пользователя, то вводится вот такая опция:
Для размонтирования FTP-папки используем такую команду:
Подключение к FTP через сайт хостинга
В этом случае достаточно лишь войти на сайт хостинга и перейти в соответствующий раздел. Покажу на примере Timeweb.
В правой части окна есть панель управления. Находим в ней пункт «Файловый менеджер» и жмем по нему. Перед нами предстанет веб-интерфейс FTP-сервера. Работать с ним очень просто, переносить файлы можно посредством drag-n-drop.
Заключение
Подключиться к FTP-серверу очень просто, и сделать это можно несколькими способами. Многие из них актуальны для всех популярных операционных систем. Но все зависит от цели, ведь функционал некоторых программ весьма ограничен.
Источник