Безопасное управление файлами сервера с помощью Filezilla
У пользователей, недавно перешедших на облачный хостинг, часто возникают проблемы с управлением файлами виртуального сервера, поскольку многие из них не привыкли работать с командной строкой. К счастью, свободный FTP-клиент FileZilla поддерживает дружественный к пользователю графический интерфейс, при помощи которого можно загружать новые и перемещать существующие файлы сервера.
Защищенный обмен данными
Наиболее распространенными методами защищенного обмена информацией между двумя компьютерами являются криптографические протоколы:
- Secure Shell (SSH)
- Transport Layer Security (TLS), а также его предшественник Secure Sockets Layer (SSL).
Эти криптографические туннельные протоколы разработаны для обеспечения безопасного конфиденциального обмена данными и связи по всей сети (особенно в интернете). Используемые в них технологии шифрования очень надежны, при качественных настройках их практически невозможно взломать. Но, несмотря на все свои сходства, эти протоколы имеют ряд существенных различий, которые выходят за рамки данной статьи.
На сегодня Unix-подобные операционные системы (как Mac OS X и Linux) по умолчанию используют OpenSSH. Таким образом, программы или подсистемы, основанные на протоколе SSH, будут работать «из коробки», то есть автоматически, без необходимости выполнять дополнительные установки, вносить существенные поправки, создавать SSL-сертификаты для определенных видов безопасной передачи данных через TLS/SSL.
Протоколы FTP, SCP, SFTP, FTPS: какая разница?
При необходимости выгрузить или загрузить файлы с VPS в режиме реального времени можно использовать:
- File Transfer Protocol (FTP);
- Secure Copy Program (SCP);
- SSH File Transfer Protocol (SFTP);
- FTP через TLS/SSL (FTPS).
Проведем краткий обзор и сравнение данных протоколов.
FTP (незащищенный)
Из всех вариантов передачи файлов FTP – самый небезопасный, потому никогда не следует подключаться к удаленному серверу через FTP. Протоколы SCP и SFTP столь же просты в использовании, но обеспечивают гораздо более высокий уровень защиты. Кроме того, FTP требует установки FTP-сервера (например, vsFTP или ProFTP), а SCP и SFTP используют протокол SSH и, как следствие, при подключении к удаленному Unix-подобному серверу (как Mac OS X или Linux) работают автоматически.
SCP vs. SFTP
Учитывая, что и SCP, и SFTP при подключении к другому компьютеру используют протокол SSH, в отношении безопасности оба эти протокола равны. Впрочем, SFTP немного более эффективен, так как позволяет возобновлять передачу файлов, которая прервалась из-за проблем со связью.
SFTP vs. FTPS
SFTP не следует путать с FTPS, потому что эти два метода несовместимы друг с другом. В то время как FTPS может быть столь же безопасным, как и SFTP, он все же требует дополнительных действий для развертывания – создания сертификата SSL.
SFTP-клиенты
На сегодня существует несколько высококачественных SFTP-клиентов: Cyberduck, Filezilla или WinSCP – вот только некоторые из них. Данное руководство охватывает только Filezilla – FTP-клиента с открытым исходным кодом для систем Windows, Mac OS X и Linux.
Обратите внимание: на официальном сайте проекта (filezilla-project.org) можно найти вики-документацию и форум поддержки.
Аутентификация на основе ключей
SFTP предоставляет два варианта аутентификации пользователя при подключении к облачному серверу:
- пароль;
- SSH-ключи.
Чтобы узнать о преимуществах авторизации пользователей с помощью SSH-ключей, читайте статью «Создание SSH-ключей для подключения к VPS с помощью PuTTY».
Аутентификация на основе SSH2-ключей
В диалоге настроек FileZilla есть отдельная встроенная страница управления ключами, что позволяет сохранить открытый (SSH) ключ и одновременно защитить и автоматизировать процесс подключения к удаленному серверу.
Требования
На данном этапе понадобится пара SSH-ключей; чтобы создать SSH-ключи, обратитесь к руководствам:
- Windows: Создание SSH-ключей для подключения к VPS с помощью PuTTY
- Mac OSX/Linux: Как настроить SSH-ключи.
Получив пару ключей, следуйте дальнейшим инструкциям руководства.
Откройте клиент FileZilla.
В верхней части главного экрана нажмите на Edit и выберите Settings.
В левой части меню разверните раздел Connection и выберите SFTP.
Затем нажмите кнопку Add keyfile… и, просмотрев каталоги на локальном компьютере, выберите файл закрытого ключа.
Теперь в верхней части главного экрана FileZilla нажмите на File и выберите Site Manager.
В завершение нажмите на кнопку New Site в левой части Site Manager и введите уникальное имя в My Sites, что в дальнейшем позволит легко определить этот конкретный удаленный сервер.
Теперь перейдите на вкладку General и заполните поля Host (укажите IP-адрес или FQDN) и Port (по умолчанию 22).
В выпадающем меню Protocol выберите SFTP-SSH File Transfer Protocol.
В выпадающем меню Logon Type выберите Interactive.
Примечание для пользователей PuTTY, открытые ключи которых защищены паролем: Если исходный файл .ppk защищен паролем, при импорте ключа FileZilla будет конвертировать этот файл в незащищенный. До версии 3.0.10 защищен паролем файл ключа не поддерживается.
При необходимости защитить файл ключа паролем FileZilla позволяет использовать инструмент PuTTY под названием Pageant.
Просто запустите Pageant. В системном трее появится значок Pageant.
Щелкните правой кнопкой мыши на иконке, выберите Add Key и укажите файл закрытого ключа (.ppk). Затем введите пароль.
В завершение запустите FileZilla и подключитесь к виртуальному выделенному серверу через SFTP с помощью SSH2, указав имя пользователя и пропустив пароль (завершив, не забудьте закрыть Pageant).
Редактирование текстовых файлов
При администрировании VPS неизбежно возникает необходимость отредактировать программные (текстовые) файлы. FileZilla не имеет встроенного текстового редактора, что дает пользователям свободу работать с любым текстовым редактором. Например, среди пользователей Windows популярным является редактор Notepad + +, потому что он прост в использовании и совместим со многими современными языками программирования.
Как правило, FileZilla использует редактор локальной системы по умолчанию. Чтобы использовать Notepad++ для редактирования программных файлов HTML, XML, Python, CSS, PHP и т.п., но при этом не устанавливать его в качестве редактора по умолчанию, выполните следующие действия:
- На главном экране FileZilla нажмите Edit и выберите Settings.
- В левой части окна настроек найдите и выделите File editing.
- Затем установите переключатель Use custom editor и нажмите на кнопку Browse.
- Найдите исполняемый файл нужного редактора (в Windows это файлы .exe), дважды щелкните на нем, и нажмите кнопку OK, чтобы сохранить изменения и закрыть окно Settings.