SSH SFTP
Не можете запустить этот инструмент vsftpd? Слишком сложно? Есть другой способ! Установите SSH и используйте встроенный инструмент SFTP. Протокол SSH позволяет размещать защищенный FTP-сервер по запросу. В этом есть свои преимущества, например, мгновенное получение сервера быстрой передачи файлов. Однако есть и серьезные недостатки, такие как более низкая скорость передачи. Традиционный FTP, хотя и не такой безопасный, не увяз в правилах шифрования, и в результате пользователи могут передавать файлы очень быстро.
SFTP наверняка выведет пользователей из затруднительного положения, но замены FTP не будет даже в 2017 году. Хотите узнать, как заставить работать протокол SFTP / SSH? Зайдите сюда, чтобы узнать больше!
Установка
Получить vsftpd довольно просто, так как программа очень мала. Что касается серверных инструментов, то здесь главное. Это небольшой демон с файлом конфигурации, который позволяет любому быстро и легко разместить FTP-сервер в своей локальной сети или через Интернет. Лучше всего то, что этот инструмент работает практически со всем. Это означает, что если вам нужен быстрый и грязный способ передачи данных с одного сервера на другой, вы можете развернуть vsftpd практически на любом дистрибутиве сервера Linux.
Кроме того, обычные операционные системы Linux для настольных ПК также содержат это серверное программное обеспечение, что позволяет быстро запускать сервер прямо с домашнего компьютера.
Другой
Инструмент vsftpd — это служба, которая позволяет любому серверу Linux (или ПК) поддерживать и размещать FTP-сервер. Протокол FTP, несмотря на то, что он очень старый, все еще широко используется сегодня, поэтому инструмент vsftpd можно найти практически во всех основных дистрибутивах Linux для ПК и серверов.
Чтобы получить его для своего дистрибутива Linux, откройте терминал и найдите в диспетчере пакетов «vsftpd» или «FTP-сервер». Вам также следует попробовать другие инструменты FTP-хостинга, если в вашей операционной системе на базе Linux нет vsftpd.
Первоначальная настройка аккаунтов пользователей (users) и шары (share) в FileZilla Server
Теперь настроим доступы пользователей, а именно их аккаунты, пароли, папки и тп.
В качестве примера создадим самого, так сказать, распространенного пользователя и дадим ему доступ.
Итак, для добавления нового аккаунта следуем, в главном окне интерфейса, по пути “Edit -> Users”. Перед нами предстанет окно работы с пользователями.
Для добавления нового необходимо нажать “Add”. Далее необходимо будет задать его имя, например, anonymous, и принадлежность к группе (в нашем случае указывать не будем). Задаем, жмем “Ok”.
Теперь для нашего нового пользователя можно задать пароль и ограничение по количеству соединений. При необходимости сделайте оное, выставив галочку «Password» и указав его (пароль) в окошке напротив. Настоятельно рекомендуется использовать пароли для пользователей в целях безопасности.
Далее переходим на вкладку “Share Folders”. Здесь, собственно, мы задаем к каким именно папкам пользователь будет иметь доступ. Делается это просто: жмем “Add” и выбираем нужную папку на диске. Слева можно задать права доступа к ней: только чтение — “Read”, запись — “Write”, удаление — “Delete” и возможность изменения существующих файлов в директории — “Append”. Ниже можно разрешить создание, удаление, получение списка файлов и распространение разрешений на подкаталоги.
Задаём необходимые Вам параметры и папки и.. Жмакаем ОК
На этом первоначальная настройка закончена. Для домашнего пользования большего и не надо
Частые ошибки и проблемы
Частые проблемы новичков заключаются в следующем:
- Не видны те файлы, название которых начинаются с точки. Они считаются скрытыми. Для решения этой проблемы следует в файл /usr/local/etc/proftpd.conf вписать:
- Запрещен доступ пользователю с правами Root. В этом случае следует перейти на протокол SFTP.
- Невозможность подключения. Решение многоуровневое будет рассмотрено ниже.
Выполняя вышеперечисленные действия, человек может самостоятельно быстро настроить работу сервера.
Нужно выполнить запрос:
Если сервер установлен, то придет ответ:
Если нет, то следует загрузить сервер:
Проверить запуск
Нужно подключиться к серверу с помощью SSH и ввести команды:
Должен быть ответ:
Другой способ заключается в введении выражения:
В этом случает ответ будет выглядеть следующим образом:
Если порт не открыт, то его следует запустить командой:
Запрет для пользователя
Проверить отсутствие блокировки запросом:
Ответ сервера в этом случае:
Chain INPUT (policy ACCEPT)
ISPMGR all — 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
ISPMGR all — 0.0.0.0/0 0.0.0.0/0
Chain ISPMGR (2 references)
ШАГ 3: Создаем пользователя FTP
Пользователь создается системный, поэтому ему нужно закрыть доступ к подключению по протоколу SSH, указать шелом /bin/false к сожалению нельзя. Согласно этой заметке только определенным пользователям, остальные блокируем.
Cоздадим нашего тестового пользователя с помощью useradd быстрое cоздание пользователей в Linux и зададим ему пароль:
sudo useradd -m -c "Test User" -s /bin/bash testuser sudo passwd testuser
Поскольку мы хотим подключаться от его имени к FTP-серверу, то нам нужно добавить его в vsftpd.userlist:
echo 'testuser' >> /etc/vsftpd.userlist
В процессе установки создается пользователь ftp с домашним каталогом /srv/ftp. Это каталог по умолчанию для FTP. Если вы желаете поменять его расположение, например, на /srv/files/ftp, просто создайте новый каталог и измените домашний каталог пользователя ftp:
sudo mkdir /srv/files/ftp sudo usermod -d /srv/files/ftp ftp
После изменений перезапустите vsftpd:
sudo service vsftpd restart
FTP server security
We can configure vsftpd to use TLS, so the transferred files over the network is a bit more secure.
First, we generate a certificate request using the openssl command:
$ openssl genrsa -des3 -out FTP.key
Then we generate a certificate request:
$ openssl req -new -key FTP.key -out certificate.csr
Now we remove the password from the key file:
$ cp FTP.key FTP.key.orig $ openssl rsa -in FTP.key.orig -out ftp.key
Finally, we generate our certificate:
$ openssl x509 -req -days 365 -in certificate.csr -signkey ftp.key -out mycertificate.crt
Now we copy the certificate file and the key and to /etc/pki/tls/certs:
$ cp ftp.key /etc/pki/tls/certs/ $ cp mycertificate.crt /etc/pki/tls/certs
Now, all we need to do is to configure vsftpd to support secure connections.
Open etc/vsftpd/vsftpd.conf file and add the following lines:
ssl_enable=YES allow_anon_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO rsa_cert_file=/etc/pki/tls/certs/mycertificate.crt rsa_private_key_file=/etc/pki/tls/certs/ftp.key ssl_ciphers=HIGH require_ssl_reuse=NO
Restart your service to reflect these changes. And that’s it.
Try to connect to your FTP server from any client on any system like Windows and choose the secured connection or FTPS, and you will successfully see your folders.
Вариант Подключение к хостингу через панель управления и файловый менеджер
Заходим на хостинг в раздел «Хостинг». Находим наш купленный хостинг (мы там уже были, когда подключали домен к нему).
Заходим в «Войти в панель», попадаем в ISPmanager. В общем, у хостингов могут чуть отличаться друг от друга панели, но стоит вам уловить общую суть, вы сразу поймете, что большой разницы нету.
Далее мы увидим меню слева, там выбираем «Главное», появятся подпункты, выбираем «Менеджер файлов» и в папке «wwww» мы увидим папку вашего домена (если ранее мы прикрепили домен к хостингу).
С этой папкой мы и будем работать далее (чуть ниже, когда дойдем до установки движков на сайт).
— Видеоурок (панель управления хостинга )
— Видеоурок (панель управления хостинга )
— Видеоурок (дополнительное видео про создание поддомена на хостинге )
Порт и первичный запуск FileZilla Server
Кроме того, на этом этапе следует указать порт, по которому будет подключаться интерфейс управления сервером, т.е так сказать, Ваша консоль администрирования, которая позволит Вам задавать настройки, смотреть кто и куда подключился и тп. Для повышения безопасности, смените его со стандартного (14147) на какой-нибудь еще.
Так же по-умолчанию, отмечена опция запустить сервер после установки (Start Server after setup completes). Можете оставить эту галочку, а можете убрать. Дело Ваше. Сделав оное, переходим к последнему окну, используя кнопочку Next.
Здесь выбираем варианты запуска интерфейса.
Их опять же три:
- При вход в систему, для всех пользователей
- При входе в систему, для текущего пользователя
- Вручную
Первый вариант сгодится, если вы единственный пользователь компьютера, куда устанавливается сервер, и Вам, в принципе, всё равно под всеми аккаунтами операционной системы интерфейс будет запускаться автоматически или же только под одним.
Второй подходит для тех, кто работает на компьютере не один (т.е на компьютере несколько аккаунтов, используемых разными людьми) и хочет, чтобы никто другой не управлял его FTP сервером, т.е запуск интерфейса осуществлялся только из под аккаунта, в котором сейчас и производится установка.
И третий вариант задает параметр запуска только вручную, т.е оный не будет стартовать вместе с системой вовсе.
Напомню, что интерфейс представляет собой нечто вроде административной программы, которая позволяет следить за состоянием сервера, запускать-останавливать и настраивать оный.
Галочка (Start Interface after setup completes) в данном окне, опять же, задает запуск интерфейса сразу в конце установки.
Ну и, разобравшись со всем оным, наконец-то можно начать установку сервера (используя, само собой, кнопочку «Install»)
Настройка FTP Ubuntu
Теперь перейдём к настройке. Нам нужно поменять всего несколько параметров, чтобы полностью защитить ваш FTP-сервер. Сначала мы рассмотрим самые очевидные настройки: отключения анонимного входа и так далее. Сначала необходимо скопировать оригинальный файл настроек, чтобы в случае проблем вернуть всё как было:
Затем откройте файл в редакторе:
Затем добавьте такие настройки. Вам нужно будет найти и изменить значения указанных строк, добавлять новые, если они уже есть, не стоит. Сначала отключаем анонимный вход:
Разрешаем использовать имена локальных пользователей для входа:
ля авторизованных пользователей разрешаем команды, позволяющие изменять файловую систему:
Установим значение umask для новых файлов, создаваемых по FTP:
Включаем сообщение о необходимости выбрать каталог после регистрации:
Записывать в лог файл все транзакции по передаче файлов и использовать стандартный формат лога:
Использовать порт 20 для передачи данных вместо случайного, это нужно для нормальной работы фаервола:
Указываем, что нужно ожидать входящих соединений:
Использовать PAM-библиотеки:
На завершение разрешим аутентификацию только пользователей, перечисленных в файле userlist:
Указываем файл с нашими виртуальными пользователями:
По умолчанию таким пользователям запрещён вход в систему, но мы хотим совсем обратное, поэтому добавьте такую строчку:
При входе пользователей на FTP-сервер, они могут работать только в корневом каталоге FTP. Если вы хотите, чтобы пользователи были ограничены только своей домашней папкой, то необходимо раскомментировать эти строчки:
Первая строчка указывает, что нужно разместить пользователя в изолированном домашнем каталоге, а вторая, что ему можно разрешить запись в этот каталог. Настройка FTP Ubuntu почти завершена, сохраните изменения в конфигурационном файле и перезапустите vsftpd:
Установка и запуск с базовыми параметрами
Установка ProFTPd на Ubuntu выполняется следующей командой:
apt-get install proftpd
Открываем основной конфигурационный файл:
vi /etc/proftpd/proftpd.conf
Редактируем значения для параметров:
UseIPv6 off
* где UseIPv6 — разрешаем или запрещает использование IPv6. Если в нашей среде будет использоваться IP версии 6, то значение данной опции должно быть on.
Снимаем комментарий для опции PassivePorts и задаем ей следующее значение:
PassivePorts 60000 65535
* где 60000 — 65535 — диапазон динамических портов для пассивного режима.
Разрешаем автозапуск FTP-серверу и перезапускаем его:
systemctl enable proftpd
systemctl restart proftpd
Готово — пробуем подключиться к серверу, использую любые FTP-клиенты, например, FileZilla, Total Commander или браузер. В качестве логина и пароля используем учетную запись пользователя Ubuntu.
Если мы хотим использовать выделенную учетную запись для FTP, то создаем ее командой:
useradd ftpuser -m
Задаем ей пароль:
passwd ftpuser
Если мы хотим, чтобы учетная запись не могла покидать пределы своей домашней директории, в настройках ProFTPd снимаем комментарий с опции:
vi /etc/proftpd/proftpd.conf
DefaultRoot ~
И перезапускаем сервис:
systemctl restart proftpd
Установка операционной системы
Сначала определимся с архитектурой сервера. Если Вам известна марка процессора, установленного в сервер, ознакомившись с его спецификацией Вы узнаете, совместим ли он с архитектурой x86-64 (64 бит) или только i386 (32 бит). Косвенный признак — размер оперативной памяти, 32-битная архитектура не может работать с оперативной памятью объемом более 3 Гбайт, иногда в эту архитектуру устанавливали 4 Гбайт памяти, но в системе было видно только 3 Гбайт.
Идем на страницу загрузки Ubuntu Server и скачиваем дистрибутив, соответствующей архитектуры. Дистрибутивы Ubuntu распространяются в виде образов загрузочных DVD дисков.
Для установки Вам потребуется записать загрузочный DVD диск из скачанного образа, или, что как правило удобнее, подготовить загрузочную флешку специальной утилитой. Вставляйте диск или флешку в сервер и загружайтесь с нее.
Выбирайте русский язык и в меню Установить Ubuntu Server .
Далее Вам предложат указать страну, выбрать раскладку клавиатуры, дать имя серверу, указать имя и пароль суперпользователя (аналог администратора в Ubuntu) и подтвердить временную зону.
Некоторое затруднение может вызвать разметка диска. Если сомневаетесь, выбирайте автоматическую разметку и использовать весь диск. Но лучше выделить домашние папки пользователей в отдельные логические диски.
Так будет удобнее обновлять операционную систему, когда выйдет новая LTS версия 18.04.
Создавать или нет раздел подкачки зависит от объема оперативной памяти. Если у Вас ее немного, создайте раздел подкачки с таким же объемом. Впрочем, это не обязательно, можно после установки создать файл подкачки.
Далее в процессе установки Вам нужно будет выбрать каким образом Вы хотите управлять обновлением системы. Рекомендую устанавливать обновления безопасности автоматически.
И ближе к концу установки Вам предложат выбрать готовые наборы серверного программного обеспечения. Нам понадобятся:
Инсталлятор завершит свою работу, перезапустит сервер, Вы увидите протокол загрузки операционной системы, который завершится приглашением ввести логин и пароль пользователя в консоль.
Добро пожаловать в Linux!
Установка и настройка Ubuntu Server
Ubuntu Server создана на базе операционной системы Linux. Для её работы не нужен современный процессор, хорошая видеокарта или большой объём оперативной памяти. С Линукс можно развернуть сервер даже на старом ноутбуке. И в нём будут все нужные компоненты: почта, FTP, Web.
Скачать образ диска с Linux можно с сайта Ubuntu.ru. Выбирайте любую версию с Server (не Desktop!). Загрузка будет проходить через Torrent-клиент. Этот образ надо записать на болванку или флешку (с помощью LiveUSB). Также можно воспользоваться виртуальным приводом.
У Ubuntu упрощённый интерфейс. В нём нет никаких графических излишеств. Эта ОС прекрасно подходит, чтобы сделать Linux-сервер своими руками. С ней ресурсы компьютера будут использоваться для нужд домена. Ведь ей для работы нужно совсем немного.
Её установка проходит так:
- Выберите язык и регион, в котором проживаете.
- Придумайте имя администратора. Оно используется для управления сервером.
- Также задайте имя пользователя в поле «Username for your account». Под этим аккаунтом вы будете общаться с техподдержкой Ubuntu.
Указываем имя пользователя в Ubuntu
Введите пароль. Подтвердите его.
Вводим пароль учетной записи
- Укажите домен, если он есть. На нём будут находиться все сервисы: файловый (FTP), почтовый, хостинг для сайтов и так далее.
- Подождите, пока установится система.
- После этого она предложит дополнительные компоненты.
Вот список того, что необходимо для сервера Linux и его полноценной работы:
- Open SSh. Используется для удалённого администрирования. Пригодится, если вы решите управлять сервисом с другого компьютера. Тогда на ПК с Линуксом можно будет отключить монитор и видеоадаптер.
- LAMP. Комплекс утилит Linux, который включает Apache (Web-сервер). MySQL (базы данных) и PHP (язык программирования для CMS). Эти компоненты нужны для создания управляющего интерфейса.
Далее указано то, что устанавливать необязательно. Выбор дистрибутивов опционален и зависит от того, что вы хотите в итоге получить.
- Samba file server. Позволяет настроить обмен файлами между компьютерами. Если вам нужен FTP-сервер, выберите этот пункт.
- Virtual Machine host. Устанавливайте, если собираетесь пользоваться возможностями виртуализации.
- Print server. Сетевые принтеры.
- DNS server. Система доменных имён. С ней можно распознать IP-адрес по имени компьютера и наоборот.
- Mail server. Почтовый сервер.
- PostgreSQL database. Объектно-реляционные базы данных.
Выберите то, что вам нужно, и подтвердите установку. При первом запуске надо будет ввести логин администратора и пароль. Откроется консоль. Она похожа на командную строку Windows или интерфейс операционной системы MS DOS.
Консоль Ubuntu
Изначально вам надо будет проверить наличие обновлений. Введите команду «Sudo apt-get update» или «Sudo apt-get upgrade» без кавычек. После апдейта можно заняться настройкой всех компонентов серверов: FTP, почтового, Веб.
Для Ubuntu существует псевдографический интерфейс — Midnight Commander. Это аналог оболочки Norton Commander, которая разработана для системы MS DOS. С таким интерфейсом легче работать — всё нагляднее, чем в консоли.
Securing FTP
There are options in to help make vsftpd more secure. For example users can be limited to their home directories by uncommenting:
You can also limit a specific list of users to just their home directories:
After uncommenting the above options, create a containing a list of users one per line. Then restart vsftpd:
Also, the file is a list of users that are disallowed FTP access. The default list includes root, daemon, nobody, etc. To disable FTP access for additional users simply add them to the list.
FTP can also be encrypted using FTPS. Different from SFTP, FTPS is FTP over Secure Socket Layer (SSL). SFTP is a FTP like session over an encrypted SSH connection. A major difference is that users of SFTP need to have a shell account on the system, instead of a nologin shell. Providing all users with a shell may not be ideal for some environments, such as a shared web host. However, it is possible to restrict such accounts to only SFTP and disable shell interaction.
To configure FTPS, edit and at the bottom add:
Also, notice the certificate and key related options:
By default these options are set to the certificate and key provided by the ssl-cert package. In a production environment these should be replaced with a certificate and key generated for the specific host. For more information on certificates see Security — Certificates.
Now restart vsftpd, and non-anonymous users will be forced to use FTPS:
To allow users with a shell of access to FTP, but have no shell access, edit adding the nologin shell:
This is necessary because, by default vsftpd uses PAM for authentication, and the configuration file contains:
The shells PAM module restricts access to shells listed in the file.
Most popular FTP clients can be configured to connect using FTPS. The lftp command line FTP client has the ability to use FTPS as well.
Скачивание файлов с 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 клиент – это специальная программа, при помощи которой можно быстро и безопасно соединиться с сервером, скачивать с него файлы, редактировать их и закачивать новые.
Аббревиатура FTP происходит от англ. File Transfer Protocol, что в переводе означает – протокол передачи данных.
Ладно, хватит научных словечек, вы ведь не за этим пришли на эту страницу ???? Расскажу простыми словами, что это за зверь такой и зачем он может вам понадобиться.
Если вы ищете информацию о фтп клиенте, скорее всего у вас есть блог или вы только собираетесь создать свой сайт. Значит вы знаете, что все файлы сайта хранятся на хостинге, и чтобы отредактировать какой-то файл или загрузить новый, вам придется зайти в панель управления сайтом на свой хостинг и производить загрузку и выгрузку файлов через браузер. Хорошо, если у вас хорошая скорость интернета и файлы весят не много, а если вам необходимо загрузить бэкап сайта, который весит несколько Гб? Что будете делать загружать несколько часов? Вот в этом случае нам как раз и поможет программа для безопасного соединения и передачи данных – FTP клиент.
При помощи FTP клиента можно создать FTP соединение и быстро производить любые манипуляции с файлами своего сайта.
Программы для FTP соединения на русском языке.
Существует немало программ для FTP соединения принцип работы почти у всех одинаков. Можете выбрать любой FTP клиент, но я рекомендую FileZilla.
FileZilla – бесплатный FTP клиент с отличной русификацией. Поддерживается всеми операционными системами. Есть возможность настройки скорости передачи, удаленного поиска и правки файлов.
FTPRush – бесплатный клиент с поддержкой FTPS, TFTP и SFTP соединения.
Как скачать и установить программу FTP FileZilla?
Как я уже заметил выше, лучшим FTP клиентом я считаю FileZilla. На его основе и буду рассказывать как скачать FTP клиент и подключиться к хостингу по FTP.
Программа весит немного, около 6 Мб.
Скачав файл на компьютер, нужно запустить его установку.
После запуска установщика клиента FileZilla, вам нужно принять пользовательское соглашение и выбрать кому разрешен доступ к программе с данного компьютера – всем пользователям или только вам.
При необходимости можете указать путь загрузки файла.
После того, как программа полностью установиться, нажмите кнопку «Finish» и можете приступать к работе с FTP клиентом.
Как подключиться к хостингу через FTP?
При первом запуске FileZilla у вас всплывет окно с подсказками по работе с данным FTP клиентом.
Для того, чтобы подключиться к хостингу своего сайта при помощи программы, вам нужно создать FTP соединение. А для этого необходимы следующие данные:
- Хост. Это IP адрес FTP сервера;
- Имя пользователя;
- Пароль;
Все эти данные даются вашим хостером. Если вы их не знаете, можете связаться со службой поддержки хостинга и спросить у них.
После того, как вы введете все данные и нажмете кнопку «Быстрое соединение», произойдет подключение к вашему хостингу по FTP.
Перед вами будет два окна. В левом вы можете видеть все диски и файлы, которые находяться у вас на компьютере, а справа все файлы и папки вашего хостинга.
Эти файлы можно скачивать, редактировать, перетаскивать из одного окна в другое и т. д.
Securing FTP
Numerous exploits take advantage of unsecured FTP servers. In response, there are several configuration options in vsftpd.conf that can help secure your FTP server.
Limit User Access
One method is to limit users to their home directory. Open vsftpd.conf in an editor and uncomment the following command:
This is an example of the file in nano:
Create a User List File
To create a list file, edit /etc/vsftpd.chroot_list, and add one user per line.
Instruct your FTP server to limit this list of users to their own home directories by editing vsftpd.conf:
The image ilustrates the edits that were made:
Restart the vsftpd service:
By default, the list of blocked users from FTP access is stored in /etc/ftpusers. To add blocked users, edit this file and add one user per line.
Encrypt Traffic With FTPS
Another method to secure your FTP server is to encrypt the traffic. This is done by using FTPS – File Transfer Protocol over SSL (Secure Socket Layer).
For this to work, users need to be set up with a shell account on the FTP server. This will add a layer of secure encryption to your FTP traffic.
1. Start by creating a new certificate with openssl. To do so, run the command:
2. Provide the required information when prompted or keep the default configuration by pressing Enter.
3. Next, open your vsftpd.conf file in an editor and change the line to :
4. Then, add the following lines:
5. Save the changes and exit the file.
6. Finally, restart the service to apply the changes:
Note: For more information on SSL configurations and certificates, please see the Ubuntu FTP server documentation. Also, it’s worth noting that FTPS is a different protocol that SFTP. SFTP stands for Secure File Transfer Protocol, and it’s an entirely different protocol.
Conclusion
Now, you should have installed an FTP server on Ubuntu with vsftpd.
You should now be able to configure your user lists and accounts, and connect to your new FTP server. We also detailed the risks of the FTP protocol, and how to mitigate them.
Что такое FTP?
FTP — это сетевой протокол, применяемый для обмена файлами по сети. Он использует порт 21. FTP позволяет вам подключаться к удаленной системе для обмена файлами при помощи команды .
Синтаксис FTP
FTP-синтаксис довольно прост:
Здесь может быть как именем, так и IP-адресом удаленного хоста, к которому вы хотите подключиться.
Команды FTP
FTP-команды напоминают команды Linux. Вот некоторые из них:
Команда | Использование |
---|---|
open | Открывает удаленное соединение с другим компьютером. |
get | Копирует файл из удаленной системы в локальную. |
put | Копирует файл из локальной системы в директорию удаленной. |
mget | Передача нескольких файлов из удаленной системы в текущую директорию локальной. |
mput | Передача нескольких файлов из локальной системы в директорию удаленной. |
bye/quit | Подготовка к выходу из FTP-окружения. |
close | Закрывает FTP-соединение. |
ascii | Включает ASCII-режим передачи файлов. |
binary | Включает бинарный режим передачи файлов. |
Как передавать файлы через FTP
FTP предлагает два режима передачи файлов: ASCII и бинарный.
- ASCII расшифровывается как American Standard Code for Information Interchange («Американский стандартный код для обмена информацией»). Используется для передачи простых файлов, например, текстовых.
- Бинарный режим используется для передачи нетекстовых файлов, например, изображений.
По умолчанию FTP использует режим передачи ASCII.
Шаг 1 — установка FTP-соединения
В этом примере — удаленный хост. После ввода команды вам будет предложено ввести имя пользователя и пароль.
$ ftp hostA Connected to hostA. 220 hostA FTP server ready. Name (hostA:user): user 331 Password required for user. Password: password 230 User user logged in. Remote system type is LINUX.
Когда соединение будет успешно установлено, вы заметите символы в начале строки. Это значит, что теперь вы можете вводить FTP-команды.
Вы можете выбрать режим передачи файлов (бинарный или ASCII) в зависимости от их типа.
ftp> ascii 200 Type set to A.
Шаг 3 — передача файла
Здесь мы использовали команду для передачи файла sample.txt с удаленного FTP-сервера на локальную машину.
ftp> get sample.txt 200 PORT command successful. 150 Opening ASCII mode data connection for sample.txt (22 bytes). 226 Transfer complete. local: sample.txt remote: sample.txt 22 bytes received in 0.012 seconds (1.54 Kbytes/s)
Шаг 4 — завершение сессии
ftp> bye 221-You have transferred 22 bytes in 1 files. 221-Total traffic for this session was 126 bytes in 2 transfers. 221-Thank you for using the FTP service on hostA. 221 Goodbye.
Как передать несколько файлов через FTP
Для передачи нескольких файлов одновременно используются две команды: и .
используется для скачивания файлов с сервера, а — для заливки на сервер.
ftp> mget sample_file.1 sample_file.2
Здесь мы скачиваем файлы с удаленного хоста на локальную машину.
ftp> mput sample_file.1 sample_file.2
А здесь — наоборот: заливаем с локальной машины на удаленный хост.
Все команды, описанные в этом разделе, можно поместить в исполняемый файл и запускать по расписанию.
От редакции Techrocks. К сожалению, автор не раскрыла тему защищенной передачи файлов по FTPS, SFTP и FTP через SSH.