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

  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.

Чтобы включить анонимный доступ по FTP нужно в фале vsftpd.conf определить значение «YES» для соответствующей директивы:

Теперь для управления файлами будет использоваться определённый каталог (обычно это /srv/ftp) и определённый пользователь — обычно ftp.

Читайте также:  Авто для windows mobile

Можно определить и другое расположение файлов для анонимного доступа по 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.

Источник

Как использовать команду Linux FTP для передачи файлов

FTP (протокол передачи файлов) — это стандартный сетевой протокол, используемый для передачи файлов в удаленную сеть и из нее.

В этом руководстве мы покажем вам, как использовать команду ftp Linux на практических примерах.

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

Подготовка

Трафик FTP не зашифрован. Для безопасной передачи данных используйте SCP или SFTP .

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

При передаче больших файлов рекомендуется запускать команду ftp внутри сеанса screen или tmux .

Каталог, из которого вы запускаете команду ftp является локальным рабочим каталогом.

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

Чтобы открыть ftp-соединение с удаленной системой, вызовите команду ftp за которой следует IP-адрес или доменное имя удаленного сервера. Например, чтобы подключиться к FTP-серверу с адресом «192.168.42.77», введите:

Если соединение установлено, отобразится подтверждающее сообщение, и вам будет предложено ввести свое имя пользователя FTP, в этом примере имя пользователя FTP — linuxize :

После ввода имени пользователя вам будет предложено ввести пароль:

Если пароль правильный, удаленный сервер отобразит подтверждающее сообщение и приглашение ftp> .

Общие команды FTP

Большинство команд FTP похожи или идентичны командам, которые вы вводите в командной строке Linux.

Ниже приведены некоторые из наиболее распространенных команд FTP.

  • help или ? — список всех доступных команд FTP.
  • cd — сменить каталог на удаленной машине.
  • lcd — сменить каталог на локальной машине.
  • ls — перечислить имена файлов и каталогов в текущем удаленном каталоге.
  • mkdir — создать новый каталог в текущем удаленном каталоге.
  • pwd — распечатать текущий рабочий каталог на удаленной машине.
  • delete — удалить файл в текущем удаленном каталоге.
  • rmdir — удалить каталог в текущем удаленном каталоге.
  • get — скопировать один файл с удаленного на локальную машину.
  • mget — скопировать несколько файлов с удаленного на локальную машину.
  • put — скопировать один файл с локальной машины на удаленную.
  • mput — скопировать один файл с локальной машины на удаленную.
Читайте также:  Оптимизация pubg windows 10

Загрузка файлов с помощью команды ftp

После входа в систему ваш текущий рабочий каталог становится домашним каталогом удаленного пользователя.

При загрузке файлов с помощью команды ftp файлы будут загружены в каталог, из которого вы ввели команду ftp .

Если вы хотите загрузить файлы в другой локальный каталог, переключитесь в него с помощью команды lcd .

Допустим, мы хотим загрузить файлы в каталог

Чтобы загрузить один файл с удаленного сервера, используйте команду get . Например, чтобы загрузить файл с именем backup.zip вы должны использовать следующую команду:

Результат должен выглядеть примерно так:

Чтобы загрузить сразу несколько файлов, используйте команду mget . Вы можете предоставить список отдельных имен файлов или использовать подстановочные знаки:

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

Когда вы закончите загрузку файлов с удаленного FTP-сервера, закройте соединение, используя команду bye или quit :

Загрузка файлов с помощью команды FTP

Чтобы загрузить файл из локального каталога на удаленный FTP-сервер, используйте команду put :

Результат должен выглядеть примерно так:

Если вы хотите загрузить файл, которого нет в вашем текущем рабочем каталоге, используйте абсолютный путь к файлу.

Чтобы загрузить несколько файлов из локального каталога на удаленный FTP-сервер, вызовите команду mput :

При загрузке нескольких файлов команда предложит вам подтвердить каждый файл, который вы хотите загрузить.

После того, как вы закончите загрузку файлов на удаленный FTP-сервер, закройте соединение, bye или quit .

Выводы

В этом руководстве вы узнали, как использовать команду ftp для загрузки и выгрузки файлов на удаленный FTP-сервер.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Передача файлов по FTP

FTP — это один из самых популярных способов передачи файлов на сервер серди веб-мастеров и пользователей. File Transfer Protocol — довольно давняя технология, которая применялась для передачи файлов между компьютерами еще на заре зарождения интернета. Но она до сих пор сохранила свою популярность из-за простоты и надежности.

В одной из предыдущих статей мы писали о том, как выполняется настройка FTP на Ubuntu 16.04, в этой статье рассмотрим как работает передача файлов по FTP, рассмотрим как передать файлы с помощью терминала или в графическом интерфейсе.

Как работает FTP?

Протокол FTP представляет из себя набор команд, которые мы можем передавать на сервер обычным текстом для аутентификации, просмотра содержимого каталогов, перемещения по каталогам, отправки и скачивания файлов. Все команды передаются в открытом виде, в том числе и пароль, поэтому использование FTP очень небезопасно, и лучше применять передачу файлов scp или защищенный протокол sFTP, который мы рассмотрим ниже.

Важно заметить, что для передачи файлов и обработки команд используются два разных соединения. Команды передаются на порт 21, а когда нужно передать файл, сервер FTP сообщает на какой порт нужно начать отправлять информацию. Не будем вдаваться в подробности, скажу только, что существует два режима передачи файлов. Это активный, когда сервер подключается к компьютеру и начинает считывать файл и пассивный, когда компьютер передает файл на сервер. Сейчас в большинстве случаев применяется пассивный режим, потому что большинство пользователей используют NAT, что не позволяет серверу самому подключаться к портам клиента.

А теперь перейдем ближе к практике и рассмотрим как выполняется передача файлов по FTP.

Передача файлов по FTP через терминал

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

$ ftp опции адрес_сервера

Опций у утилиты всего несколько, но нам нужно их рассмотреть, потому что они могут быть вам очень полезны:

  • -A — использовать активный режим во время передачи файлов;
  • -p — использовать пассивный режим, используется по умолчанию;
  • -i — отключать интерактивный режим во время передачи файлов;
  • -n — попытаться использовать автоматический вход;
  • -e — отключить историю команд;
  • -v — максимально подробный вывод;
  • -d — включить режим отладки.
Читайте также:  Альт линукс это дебиан

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

  • account — отправить серверу свой пароль для авторизации;
  • append — добавить локальный файл в конец удаленного файла на сервере;
  • ascii — передавать файлы в кодировке ASCII;
  • binary — передавать файлы в бинарном формате;
  • bye — завершить сессию;
  • cd — перейти в папку;
  • cdup — перейти в папку уровнем выше;
  • chmod — изменить права на файл;
  • delete — удалить файл с сервера;
  • dir — посмотреть список файлов в папке;
  • get — скачать файл из сервера на локальную машину;
  • hash — отображать статус передачи файла;
  • lcd — сменить рабочую директорию на локальной машине;
  • ls — список файлов в папке;
  • mdelete — удалить несколько файлов;
  • mget — скачать несколько файлов;
  • mkdir — создать папку;
  • mput — передать несколько файлов на сервер;
  • open — подключится к удаленному FTP серверу;
  • put — передать файл на сервер;
  • pwd — вывести текущую папку;
  • recv — то же самое что и get;
  • rename — переименовать файл на сервере;
  • rmdir — удалить папку;
  • size — узнать размер файла;
  • user — авторизоваться на сервере.

Это далеко не все команды, которые вы можете использовать для передачи файлов, но здесь перечислено все самое основное, и вам их точно хватит для решения простых задач.

Сначала подключаемся к нашему серверу, команде нужно передать адрес сервера:

Затем авторизуемся на сервере, нужно передать логин и пароль:

Только после этого перед нами открывается командная оболочка FTP клиента. Именно здесь будет выполняться передача файлов ftp. Изменим текущую папку на FTP, затем посмотрим ее содержимое и выведем полный адрес текущей папки:

ftp> cd FTP
ftp> ls
ftp> pwd

Перейдем в папку documents на удаленном сервере и посмотрим ее содержимое:

ftp> cd documents
ftp> ls

Чтобы скачать файл по FTP с удаленного сервера нам нужно использовать команду get. Просто передайте команде имя файла:

ftp> get document2.odt

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

Загрузка файлов по FTP на сервер выполняется с помощью команды put, причем, здесь, как и в предыдущей команде можно задать имя создаваемого файла:

ftp> put document2.odt document3.odt

Также можно управлять файлами на удаленном сервере. Переименуем файл doument1.pdf, так чтобы он назывался правильно:

ftp> rename doument1.pdf document1.pdf

Затем удалим document3:

ftp> delete document3.odt

Для завершения сеанса FTP наберите Bye:

Сейчас многие FTP серверы используют шифрование на основе ssl сертификатов. Это необходимая мера, которая позволяет обезопасить данные пользователей. Для подключения к таким серверам необходимо использовать утилиту sftp, в остальном же процесс и команды не отличаются.

Передача файлов по FTP в графическом интерфейсе

Передача файлов на FTP через графический интерфейс может выполняться с помощью различных графических клиентов. Один из самых популярных из них — это Filezilla. Его можно использовать в Linux, Windows или MacOS. Например, для установки в Ubuntu используйте такую команду:

sudo apt install filezilla

Вот так выглядит главное окно утилиты. Для подключения к серверу необходимо ввести данные аутентификации в поля, которые находятся в верхней части окна:

Затем нажмите кнопку «Быстрое соединение». Если программа удачно подключится к серверу, то вы увидите список файлов на правой панели. На левой панели находится ваша локальная файловая система:

Чтобы передать файл достаточно его перетащить в нужную часть окна:

В контекстном меню вы можете выполнять различные действия с файлами, удалять, перемещать, копировать, переименовывать и даже редактировать. К тому же программа поддерживает подключение к серверам FTP, которые используют шифрование.

Выводы

В этой статье мы рассмотрели передача файлов ftp, а также как пользоваться ftp в целом для передачи, загрузки и управления файлами. Это очень полезная служба, которая позволяет просто и без особых знаний передавать файлы между компьютерами. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

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