Облачное хранилище: доступ по FTP
В этой статье расскажем об особенностях работы c хранилищем по FTP.
FTP — один из старейших прикладных протоколов: он появился задолго до HTTP и даже TCP/IP, в далеком 1971 году, и широко используется до сих пор. Именно по FTP осуществляется загрузка файлов на удаленные ресурсы. Наше облачное хранилище также поддерживает этот популярный и привычный для многих пользователей способ загрузки файлов. В этой статье мы расскажем об особенностях работы c хранилищем по FTP, а также приведем инструкции по настройке для наиболее распространенных FTP-клиентов: FileZilla, WinSCP, FAR Manager, Total Commander, Midnight Commander, Cyberduck.
Дисклеймер: этот текст опубликован давно, и часть информации об объектном хранилище Selectel в нем устарела. Актуальные данные о продукте вы найдете в официальной документации компании по ссылке.
Общие рекомендации
- используйте пассивный режим работы;
- используйте бинарный режим передачи данных;
- для корректного отображения кириллических имен файлов используйте кодировку UTF-8;
- всегда проверяйте загруженные файлы по размеру и/или контрольной сумме.
Подключение и настройка доступа
Подключение к хранилищу по FTP осуществляется по адресу ftp://ftp.selcdn.ru. Из соображений безопасности, рекомендуем для подключения по FTP не использовать главную учетную запись, а создать отдельного (дополнительного) пользователя.
Выбор режима подключения
Главным отличием FTP от других протоколов является использование вторичных подключений для передачи файлов. При подключении по FTP создается так называемое контрольное подключение, через которое передаются команды протокола и ответы на них. Чтобы передать файлы или список файлов и директорий, клиент сначала отсылает команды через контрольное подключение, после чего создается подключение для передачи данных. Это подключение может быть создано в двух режимах: в активном и в пассивном.
В активном режиме клиент сообщает серверу адрес и порт, на который тот должен выполнить вторичное подключение. В большинстве случаев этот режим не будет работать, если клиент для доступа в интернет использует трансляцию сетевых имен (NAT) и не имеет публичного IP адреса.
В пассивном режиме, наоборот, сервер сообщает клиенту адрес и порт для вторичного подключения. Этот режим работает практически во всех случаях и является предпочтительным.
Выбор режима передачи данных
Передача данных по FTP осуществляется в двух основных режимах: текстовом (его иногда называют режимом ASCII) и бинарном. Эти режимы задаются FTP-командами TYPE A и TYPE I соответственно.
При передаче в текстовом режиме нередко возникают проблемы. Они связаны с тем, что разные операционные системы используют разные символы окончания строки. Microsoft Windows например, использует CR+LF (возврат каретки и перенос строки), тогда как Unix-подобные системы, в том числе Linux и MacOS X — только LF, а традиционные MacOS системы (MacOS 9 и старше) — только CR. Согласно RFC 959, во всех файлах при передаче по FTP в качестве символа окончания строки следует использовать CR+LF.
При передаче файла на сервер клиент должен привести их в надлежащий вид в соответствии с требованиями используемой системы: если используется Windows, то ничего не удаляется; если используются *nix-системы — удаляются лишние CR, а если используются старые версии MacOS — лишние LF.
Аналогичные операции осуществляются и при скачивании файлов с сервера: сервер приводит окончание строк к виду CR+LF, а клиент после получения файла удаляет лишние окончания.
Когда клиент и сервер работают под разными операционными системами, передаваемые файлы изменяются. Поэтому текстовый режим не подходит для передачи файлов с произвольными символами — например, изображений или видео: они будут повреждены и в дальнейшем вообще не будут читаться.
Бинарный режим передает файлы без изменений. При работе с облачным хранилищем по FTP настоятельно рекомендуется использовать именно его.
Для корректного отображения кириллических имен файлов рекомендуется использовать кодировку UTF-8.
Обрыв соединения и целостность данных
В отличие от протокола Swift (доступ в хранилище по этом протоколу осуществляется, например, с помощью swift-client), FTP не гарантирует целостности передаваемых данных: в случае разрыва соединения в Хранилище будет сохранен не весь файл целиком, а лишь его часть.
Чтобы убедиться в целостности помещенных в хранилище данных, рекомендуется проверять загруженные файлы по размеру или по контрольной сумме.
Ограничения FTP
Максимальный размер загружаемого файла составляет 5 ГБ. В хранилище можно загружать только файлы размером до 5Гб. На скачивание файлов это ограничение не распространяется.
Если выполнено подключение по FTP, но активность при этом отсутствует (нет передачи файлов или других операций), то через некоторое время (обычно пару минут) сервер закрывает соединение. Поэтому не рекомендуется подключать FTP как диск или удаленную файловую систему, если используемое ПО не поддерживает автоматическое переподключение.
По FTP можно удалять только пустые папки или контейнеры. Прежде чем удалить папку или контейнер, необходимо сначала рекурсивно удалить все лежащие ниже файлы и папки.
Переименовывать можно только пустые папки. Для контейнеров (т.е. папок первого уровня) переименование не поддерживается.
Операция переименования файлов большого размера может занимать длительное время.
Настройка FTP-клиентов
FileZilla — популярный FTP-клиент для ОС Windows, Linux и MacOS. Его отличительными особенностями являются интуитивн понятный интерфейс и простота настройки. Чтобы начать работу с хранилищем с помощью Filezilla, необходимо сначала создать соответствующее подключение.
Для создания нового подключения выбираем в главном меню «Файл» → «Менеджер сайтов» (в некоторых версиях программы этот пункт может называться «Менеджер хостов»). Откроется следующее окно:
Теперь нажмем на кнопку «Новый сайт». Будет создано новое подключение. Зададим его параметры в правой части окна. В поле «Хост» указываем ftp.selcdn.ru; в выпадающем меню «Тип входа» выбираем «Нормальный». Затем вводим в соответствующие поля имя пользователя и пароль:
Далее перейдем на вкладку «Настройки передачи» и выберем пассивный режим подключения:
На вкладке «Кодировка» выбираем «UTF-8 принудительно»:
После этого нажимаем на кнопку «OK». Теперь войдем в главное меню и выберем «Передача» → «Режим передачи» → «Двоичный»:
После этого возвращаемся в менеджер сайтов и нажимаем на кнопку «Соединиться».
WinSCP — свободный графический клиент для работы с протоколами FTP и SCP, предназначенный для ОС Windows. Настройка подключения к облачному хранилищу осуществляется очень просто. При запуске программы открывается окно, показанное на рисунке ниже. В меню «Файловый протокол» выбираем FTP, в поле «Сервер» указываем ftp.selcdn.ru; в соответствующих полях указываем имя пользователя и пароль:
Чтобы установить пассивный режим, в дереве в левой части окна выбираем пункт «Подключение» и устанавливаем соответствующий флажок:
Для установки кодировки в выбираем пункт «Среда»; в выпадающем меню «Кодировка UTF-8 для имен файлов» выбираем «Авто»:
Задав все необходимые настройки, нажимаем на кнопку «Войти».
FAR — один из самых известных и популярных файловых менеджеров для Windows, во многом наследующий интерфейс и систему команд у известного менеджера Norton Commander. Он довольно часто используется для загрузки файлов по FTP.
Чтобы настроить доступ по FTP к хранилищу, запустим FAR и нажмем Alt+F1:
В открывшемся меню выберем пункт NetBox:
Затем нажмем Shift+F4. Откроется форма для добавления новой сессии:
В поле «Протокол» указываем FTP, в поле «Имя сервера» — ftp.selcdn.ru, в поле «Тип подключения» — «Стандартное». Далее вводим имя пользователя и пароль. Номер порта для подключения — 21 (без указания порта подключение не будет осуществлено). Нажимая на стрелки в верхней части окна, перейдем на следующую страницу настроек и установим пассивный режим, выбрав в меню Connection пункт Passive mode:
Теперь перейдем на следующую страницу и выберем в меню «Кодировка для имен файлов» UTF-8:
Total Commander — еще один известный файловый менеждер для ОС семейства Windows; несколько лет назад появилась и мобильная версия для Android.
Чтобы создать новое соединение, выбираем в главном меню «Сеть» → «Соединиться с FTP-сервером»:
Откроется окно со списком соединений. Нажмем на кнопку «Добавить». На экране появится форма настройки нового подключения:
Указываем имя соединения (в нашем случае — selectel); в поле «Сервер» прописываем адрес ftp.selcdn.ru. Далее указываем имя пользователя (поле «Учетная запись») и пароль. Затем устанавливаем флажок «Пассивный режим обмена» и нажимаем на кнопку ОK. Новое подключение будет добавлено в список:
Соединение с хранилищем по FTP можно установить и быстрым способом. В главном меню выберем пункт «Новое FTP-соединение»:
В открывшемся окне введем строку вида ftp://[имя пользователя]:[пароль]@ftp.selcdn.ru:
Затем нажмем на кнопку ОК — соединение будет установлено.
Midnight Commander (сокращенно MC)- популярный файловый менеджер с текстовым интерфейсом для UNIX-подобных операционных систем. Чтобы настроить подключение к облачному хранилищу по FTP, выбираем в меню правой панели пункт «FTP-соединение»:
Откроется следующее окно:
В качестве имени машины указываем [имя пользователя]@ftp.selcdn.ru. В следующем окне вводим пароль:
Нажимаем на кнопку «Далее» или на клавишу Enter. Если все данные введены корректно, соединение будет установлено.
Подключение с помощью штатных инструментов операционных систем
Работать с облачным хранилищем по FTP можно и с помощью штатных инструментов операционных систем — Проводника (Windows) и Nautilus — официального файлового менеджера рабочей среды Gnome для ОС семейства Linux.
Подключение через проводник Windows
В Windows можно подключить облачное хранилище как сетевой диск. В контекстном меню «Компьютер» выбираем пункт «Подключить сетевой диск». Откроется следующее окно:
Щелкаем мышью по ссылке «Подключение к сайту, на котором можно хранить документы и изображения», запуская тем самым мастер добавления в сетевое размещение:
Нажимаем на кнопку «Далее». Откроется следующее окно:
Затем щелкаем мышью по значку «Выберите другое сетевое размещение» и нажимаем на кнопку «Далее»:
Указываем адрес ftp://ftp.selcdn.ru и нажимаем на кнопку «Далее». В открывшемся окне снимаем флажок «Анонимный вход» и указываем имя пользователя:
Нажимаем на кнопку «Далее». В следующем окне введем имя нового сетевого размещения (в нашем случае — selectel):
В следующем окне вводим пароль и нажимаем на кнопку «Вход»:
После этого новое подключение будет добавлено в список локальных и сетевых дисков:
Подключение через Nautilus
Чтобы подключиться к облачному хранилищу, сначала выберем в главном меню пункт «Файл» → «Подключение к серверу»:
Откроется окно, в котором нужно будет ввести адрес для подключения:
Указываем адрес ftp://ftp.selcdn.ru и нажимаем на кнопку «Подключиться». В следующем окне устанавливаем радиокнопку «Подключиться как зарегистрированный пользователь», а затем указываем имя пользователя и пароль:
Нажимаем на кнопку «Подключиться». Соединение будет установлено, а в Nautilus откроется вкладка со списком контейнеров и папок облачного хранилища.
Профиль Cyberduck
Cyberduck — популярный файловый клиент для ОС Windows и MacOS, поддерживающий множество протоколов, таких как: FTP, SFTP, WebDAV и AmazonS3. Специально для пользователей этого клиента мы создали профиль для работы с нашим хранилищем. Этот профиль использует проткол Swift заместо FTP, что улучшает качество работы.
Чтобы загрузить профиль, нужно войти в панель управления my.selectel.ru под своей учетной записью. В меню в левой части страницы выбираем «Облачное хранилище» → «Программы» и скачиваем файл профиля, затем дважды щелкаем по нему мышью. В открывшемся окне указываем имя закладки (не обязательно) и имя пользователя:
Далее будет запрошен пароль. После ввода пароля будет установлено соединение с хранилищем.
Заключение
В этой статье мы рассказали об особенностях настройки популярных графических FTP-клиентов для работы с облачным хранилищем. В следующей публикации мы расскажем о работе с хранилищем с помощью консольных FTP-клиентов (lftp, wget, ftp), а также об организации резервного копирования с использованием FTP.