Ftp windows and linux

Tech Monger

Programming, Web Development and Computer Science.

File transfer between ubuntu and windows using VSFTP

Posted November 19, 2017

In this tutorial we will learn how to use vsftpd on Linux to make Ubuntu machine run as ftp server and transfer files over wifi on local network.

On many occasion you need to copy and backup files locally from one computer to other. Using physical disk like flash drive or external hard drive is not always feasible due to many constraints such large file size, external drive availability.

Setup

We can take advantage of machines being on same network to achieve file transfer.

To follow this guide you should have access to following

  • Ubuntu Machine
  • Windows Machine
  • Both machines connected over same network using ethernet or wifi

How to install VFTP on Ubuntu

Open Terminal to get and install vsftp demon from official ubuntu repository.

sudo apt-get install vsftpd

Above command will install vsftp demon which means it will always be running in background upon machine startup using init .

Use following commands to check vsftp service

sudo service vsftpd status

If service is running then above command will output status of service with all spawned vsftp process ids.

Alternatively you can also check vsftp process with grep

ps -ef | grep vsftp

How to configure VSFTP for Uploads

This step is optional but if you want to allow uploads from remote machine to your ubuntu server then follow below configuration.

After installation vsftp will create configuration file at path /etc/vsftpd.conf . This file should be owned by root and should have default vsftp configuration. By default VSFTP will not allow ftp uploads; to enable it uncomment line write_enable=YES

Note that /etc/vsftpd.conf would be owned by root , to make any changes in configuration do. sudo vim /etc/vsftpd.conf or sudo gedit /etc/vsftpd.conf

Restart vsftpd demon once configuration is completed.

sudo service vsftpd restart

Check status after restart.

sudo service vsftpd status

How to configure Ubuntu firewall for FTP

By default ubuntu shall be running firewall known as uncomplicated firewall ( ufw ). Default firewall rules will not allow any outside connection.

To open ftp port on this firewall use following commands.

Check firewall status using

sudo ufw status

Firewall should be active and running. If it’s not active then enable the same using following command to make your machine secure.

You can keep it disable if you have such requirement, however it’s recommended to keep it on. sudo ufw enable

To open ftp port 21 use following command

sudo ufw allow ftp or sudo ufw allow 21

This will add firewall rule to accept ftp connections from other machine on network. After adding ftp rule you should have following entries in your firewall. sudo ufw status

Configure Windows Firewall

Firewall should permit you to initiate ftp session from windows machine. Search for Windows Firewall in start menu to open firewall configuration window.

Since we are going to use one time ftp we will disable firewall and reenable it once ftp is done. Depending upon which network you are connected to Home or Public you can disable firewall like below.

Note that disabling complete firewall is not recommended. If you are going to use ftp server regularly from windows machine then please create firewall rules under Windows Firewall with Advanced Security on Port 21

Initiate FTP session using Windows command line

Once we are done with required configurations we can initiate first ftp connection from windows command line. First get IP address of machine hosting FTP server using command ifconfig on ubuntu machine. Use eth0 inet address if you are connected with ethernet cable. For wireless connection use inet address of wlan0 interface. My ubuntu machine have following local IP 192.168.2.102 .

To initiate connection open command prompt on windows and use following command. ftp 192.168.2.102

It will ask for username and password. Username will be same name as the ubuntu user (techmonger in my case) and password will the ubuntu’s system password of user.

Читайте также:  Облегченный яндекс браузер лайт для windows 10

To get file from ubuntu ftp server, navigate to directory and use get command like below.

To upload file from windows machine to ftp server, put command like below.

To terminate ftp session use bye.

Initiate FTP connection usign ftp client on windows

By now you would agree that doing ftp from windows command prompt is bit tedious. We can use ftp client such as winscp or filezilla to get GUI for ftp operations.

Use hostname as IP address of ftp server (192.168.2.102 in my case) and same credentials as those of ubuntu user.

Like below you can initiate connection from filezilla. You can use drag and drop to download and upload files from windows machine.

FTP Security Aspects — Firewall and Services

All ftp connections will be initiated in plain text. You should only use above method if you are in local network and have complete control over network. For encrypted connections use sftp or ftps .

Remove firewall rule from ubuntu once ftp requirement is over.

Enable Winows firewall once ftp requirement is over.

Stop vsftp demon if ftp is no longer needed to save system resources. It will also make your system less vulnerable.

sudo service vsftpd stop

Conclusion : You can make your ubuntu machine to run as ftp server and can transfer files locally. You do not need SMB (server message block) for file transfer between linux machine and windows machine over network.

Установка и настройка 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-системах, поскольку, как уже упоминалось, помимо надёжности и высокой скорости работы, обладает большими функциональными возможностями, самыми значимыми из которых являются:

  1. Работа с виртуальными пользователями.
  2. Работа с виртуальными IP-адресами.
  3. Конфигурирование пользователей.
  4. Поддержка
  5. SSL-шифровние для защиты передаваемых данных.
  6. Контроль полосы пропускания.

В данной статье рассматривается установка и настройка 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.

Читайте также:  Задать разрешение экрана вручную linux

Чтобы включить анонимный доступ по 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.

23 лучших FTP-клиента и сервера

FTP-клиент — программа, предоставляющая возможность оперативно открыть одноимённый сервер. Так можно свободно воспользоваться находящимися на сервере файлами с их дальнейшим просмотром, корректированием, копированием и скачиванием. Кроме того, комфортный интерфейс позволит человеку не заметить никакой разницы в период работы с информацией в рамках собственной файловой структуры.

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

Десктопные клиенты

WinSCP

Графический клиент протоколов SFTP и SCP под ОС Windows. Но приложение работает не только с вышеобозначенными протоколами, оно ещё позволяет корректировать, удалять файлы, ярлыки, схемки URL, оснащено внутренним текстовым редактором. Важно сказать и о том, что данный продукт вполне может быть FTP-клиентом.

Core FTP LE

Защищённый FTP-клиент, разработанный CoreFTP.com в 2003-м году. Программа сочетается с FTP, FTP over SSH, SFTP, FTPS. Именно так пользователь всегда найдёт информацию на внешнем сервере.

CuteFTP

FTP-клиент, появившийся ещё в далёком 1994-м году. Благодаря данной программе пользователь и сервер могут свободно передавать друг другу файлы. Возможно применение следующих протоколов: FTP, FTPS, HTTP, HTTPS. Ещё одно достоинство рассматриваемой утилиты — можно продолжить загружать файл даже после технического сбоя.

Cyberduck

Хорошо подходит для Windows и MacOS, которые сочетаются с FTP, SFTP и Dropbox. Ещё программа оснащена отличным дизайном и интерфейсом.

FileZilla

Наиболее известный из бесплатных FTP-клиентов. Программа позволяет работать и со всеми известными десктопными ОС. Всё дело в том, что у неё комфортный интерфейс и разнообразные функциональные возможности. Основные плюсы данной утилиты выглядят следующим образом: интегрирует с FTP, FTP поверх SSL/TLS (FTPS). Ещё можно спокойно просматривать и редактировать файлы, настраивать подходящую скорость соединения.

CrossFTP

Относится к категории бесплатных FTP-клиентов с версиями под Windows, Linux и MacOS. Программу создали ещё в 2006-м году, она отлично интегрирована под определённые сетевые протоколы. Бесплатная версия также поддерживает FTP. Платная: FTP over SSH, SFTP, FTPS (FTP over SSL), FXP, DAV/HTTP (S).

Transmit

Известный клиент с отлично разработанными UI/UX компонентами. Утилита не просто поддерживает сетевые протоколы, она также позволяет контактировать с 11 cloud-сервисами. Главный плюс — высочайшее быстродействие.

Macfusion

Ещё один десктопный участник рассматриваемого ТОПа. Данная утилита работает исключительно на операционной системе MacOS. Рассматриваемый FTP-клиент позволяет отрабатывать самые разные сетевые протоколы.

Читайте также:  Dolby atmos download windows

Мобильные клиенты

AndFTP

А теперь мы рассмотрим первое приложение для Android. Ключевые плюсы выглядят следующим образом: можно контролировать файловую систему, передавать данные, применяя при этом протоколы FTP, SFTP и FTPS. Ещё можно настроить свой персональный сервер, учитывая все нужды и потребности.

Total Commander

Популярный во всём мире файловый менеджер Total Commander обладает и мобильным форматом. Другая особенность этой утилиты — наличие специального двухпанельного интерфейса, а также десктопной версии. Через эту программу можно корректировать по своему усмотрению файловую систему, распаковывать и архивировать файлы. Главное достоинство программы — её можно расширить, используя различные удобные плагины.

File Manager

Разработкой данного FTP-клиента занималась команда Clean Master, а это значит, что возможен контроль и отслеживание данных в рамках файловой системы. Ключевой нюанс программы — возможность использования смартфона в качестве FTP-сервера.

FTPManager

Одна из первых программ, разработанных под iOS. Позволяет не просто корректировать и изменять файлы, но и взаимодействовать с разными сетевыми протоколами. Главное достоинство — клиент целиком и полностью бесплатный.

FTP On the Go

Эта мобильная программа тоже работает с iOS, вот только за неё придётся заплатить. Она оснащена как обычными опциями, так и расширенными — редактирование, внесение изменений в файлы. В такой ситуации ещё одно преимущество — комфортно подсвечиваемый синтаксис.

FTP серверы

FileZila Server

Полноопциональный FTP-сервер, который поддерживает безопасные SSL/TLS соединения. Отличная реализация анти FXP-функций, IP-безопасности, скоростных ограничений для любого из клиентов, сжатия MODE-Z. Продуктом очень легко и удобно пользоваться, особенно его интерфейсом, который отлично подходит к Windows. Кроме того, у проекта открытый исходный код.

Xlight FTP Server

Относится к категории хороших серверов с оптимизацией — то есть, когда системные ресурсы применяются по минимуму. У него есть все требуемые опции, среди которых:

  • Поддержка удалённого администрирования изучаемого нами сервера.
  • Поддержка 128 bits SSL.
  • Возможность тонкой настройки применения трафика.
  • Поддержка ODBC (возможно сохранение логинов и паролей в другой базе).
  • Поддержка IPv6.

Core FTP Server

Сервер, поддерживающий стандарт FTP, а также SSL/TLS/FTPS, SSH/SFTP и HTTPS. Отличается следующими преимуществами:

  • Виртуальные каталоги.
  • Правила IP-доступа.
  • Сертификат подлинности.
  • Поддержка Active Directory и NT-пользователей.
  • Тщательное протоколирование.
  • Ограничение соединений.

Есть базовый интерфейс и настройка с имеющимися аналогичными возможностями.

Cerberus FTP Server

FTP-сервер, которому не нужно огромное количество системных ресурсов. Он может следить за подключением сразу на 2-3 интерфейсах, возобновлять сорванные сеансы. Также доступна функция поддержки PASV, ведение лога с временной статистикой и так далее. Интегрирует с RFC959 и RFC1123. Возможно использование в качестве NT-сервиса. А ещё Cerberus FTP Server сочетается с безопасным SSLv3/TLSv1 типом шифрования.

Titan FTP Server

Мощнейший и защищённый многопоточный FTP-сервер. Именно по этой причине он предоставляет возможность зафиксировать 2-3 сервера, контактирующих в одно и то же время на различных сочетаниях IP-адресов и портов. Позволяет свободно передавать файлы, применяя SSL, открывать виртуальные папки, идентифицировать клиентов, квотировать пространство на диске. Доступен и контроль за администрированием как локального, так и удалённого плана, трафиком и многие иные функции. По сути, это идеальный вариант для эффективной и удобной работы.

Serv-U

Многофункциональный и удобный для использования FTP-сервер. Продукт способствует созданию и поддержке пользовательских категорий. Для предоставления доступа может использоваться IP-адрес или доменное имя.

Serv-U оснащён стандартным интерфейсом. Практически все пользователи свободно настраивают и администрируют персональный сервер буквально за 2-3 минуты. А ещё имеется опция управления пропускной канальной способностью. Можно полноценно управлять пользователями, восстанавливать передачи, настраивать журналы и так далее. Также клиент позволяет работать с порталами, оснащёнными 2-3 IP-адресами.

Home Ftp Server

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

Сервер работает с виртуальными каталогами, запрещёнными IP-адресами. Также он предлагает веб-интерфейс для управления, просмотр имеющейся статистики.

SilverSHielD

Это простейший для применения SSH (2) и SFTP сервер, работающий с тремя разными аутентификационными типами: паролем, открытым ключом и клавиатурной интерактивной аутентификацией.

Среди других опций безопасности можно выделить следующие: поддерживает виртуальные папки, можно вручную задерживать и осуществлять дополнительные подключения. Оснащён IP-системами мониторинга доступа, автоматической блокировкой IP-адресов после 2-3 неудачных авторизаций, поддерживает крупные файлы.

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

SlimFTPd

Относится к категории достаточно эффективных, небольших FTP-серверов для Windows. Позволяет пассивно передавать данные, имеет 2-3 учётные записи и другие преимущества. Отлично интегрирует с RFC 959 (таким образом, возможен контакт с любым FTP-клиентом).

Gene6 FTP Server

Многоопциональный FTP-сервер для Microsoft Windows NT/2000/XP/2003. У этой программы достаточно простой и удобный интерфейс. Кроме того, можно свободно контролировать аккаунты, предоставлять права доступа не только к отдельным папкам, но и целым дискам. Ещё можно следить за серверной активностью, мониторить ресурсы. Доступно и создание виртуальных директорий, ограничение трафика, числа запусков.

Есть детальная статистика в режиме онлайн. Система — залог обеспечения удобного доступа к файлам через интернет. Можно использовать учётные записи (пользовательские или групповые), каталоги, разрабатывать определённые виртуальные узлы FTP, вводить лимиты, вход по IP и т.д. G6FTP Server отвечает интернет-стандартам протокола FTP.

Оцените статью