- 5 бесплатных SFTP менеджеров для Windows с графическим интерфейсом
- Установка и настройка SFTP сервера (SSH FTP) в Windows на базе OpenSSH
- Особенности протокола SFTP
- Реализация SFTP в системах Windows
- Установка Win32 OpenSSH в Windows 10 1803+/Windows Server 2019
- Установка Win32 OpenSSH на Windows Server 2016/2012 R2
- Тестируем SFTP подключение с помощью WinSCP
- Удаление службы Win32 OpenSSH
- PuTTY: Telnet/SSH Клиент
- Новости PuTTY
- 21.12.2019 — Русская версия PuTTY 0.73-RU-17
- 29.09.2019 — Релиз PuTTY 0.73
- 20.07.2019 — Релиз PuTTY 0.72
5 бесплатных SFTP менеджеров для Windows с графическим интерфейсом
Специалисты, занимающиеся разработкой и поддержкой веб-сайтов постоянно сталкиваются с протоколом FTP, который предназначен для передачи файлов в сети Интернет. FTP поддерживается всеми коммерческим хостинговыми площадками, а так же большинством бесплатных. Однако разработчики северного ПО, операционных систем и специалисты по сетевой безопасности уже довольно давно заявляют о том, что FTP это устаревший небезопасный протокол, который сегодня не рекомендуется к использованию. Причиной этому служит прозрачный (без шифрования) способ обмена данными клиента с сервером. Т.е. возможен перехват имени пользователя и пароля во время подключения. Многие провайдеры решают эту проблему включая поддержку шифрования SSL/TLS. Однако, существуют вирусы, которые воруют пароли из файлов конфигурации многих FTP клиентов. В результате в Интернете постоянно растет количество зараженных сайтов, на страницы которых добавляется код, распространяющий вирус дальше. Другим значительным недостатком FTP является слабая надежность подключения. Когда хостинг, на котором размещен сайт, поддерживает только FTP, то необходимо принимать меры безопасности, описание которых можно найти в в разделах помощи хостинга или на различных сайтах и форумах. Если же есть возможность использовать протоколы SFTP, то рекомендуется перейти на этот протокол как можно быстрее. SFTP основан на SSH и сохраняет все его достоинства как в шифровании, так и в стабильности и надежности подключения. Тут встает задача перехода на новый софт, которая всегда отнимает определенное время. Эта статья может помочь выбрать для себя программу, обеспечивающую должную безопасность, удобство работы, и при этом бесплатную.
WinSCP — наиболее развитый проект из бесплатных SFTP менеджеров с открытым кодом (GNU General Public License). При установке предлагает выбрать вариант установки: как файловый менеджер (две панели, подобно Total Commander) или как Windows проводник. Эту опцию можно сменить после установки в настройках. Поддерживает множество различных настроек внешнего вида и подключений. Радует наличие синхронизации и сравнения директорий. При установке варианта похожего на проводник Windows поддерживаются все стандартные функции, включая Drag-and-drop и горячие клавиши. Для FAR Manager разработчики WinSCP сделали плагин, так что при желании можно продолжать использовать FAR. Есть возможность написания собственных скриптов для работы с удаленным сервером, например рекурсивное обновление сайта без открытия графической оболочки и т.п. WinSCP подойдет как продвинутым пользователям, так и начинающим. Из недостатков можно назвать отсутствие интерфейса на русском языке и несколько большие требования к ресурсам. При установке, дополнительно к программе, предлагается установить программу для работы с реестром Windows, которая затем требует регистрации. Сама это программка для работы WinSCP не нужна.
FileZilla — мощный и легкий FTP/SFTP менеджер с открытым исходным кодом (GNU General Public License). Поддерживает все протоколы передачи файлов и типы шифрования. Возможно включить перекодировку имен файлов при передаче. Преимуществом этого менеджера является мульти-платформенность — доступны версии для Windows, Linux и Mac OS X. Под Windows FileZilla не требует установки (запускается после распаковки из ZIP архива). Доступны, так же, такие инструменты как сравнение содержимого каталогов и рекурсивный поиск по файлам. Для многих русскоязычных пользователей важным моментом является наличие русскоязычного интерфейса.
FireFTP — этот инструмент будет удобен тем, кто использует веб-браузер Firefox. FireFTP устанавливается как дополнение и открывается в новом табе. Распространяется бесплатно по лицензии Mozilla public license. Поддерживает все стандартные способы передачи файлов с шифрованием и без. При этом никаких лишних инструментов. Наиболее подходящий для любителей минималистки. Русского интерфейса не оказалось (несмотря на русскоязычный Firefox), однако это вряд ли сильно помешает, т.к. этот менеджер не содержит сложных настроек и инструментов, хотя и включает все необходимое, что бы быстро обновить сайт.
Core FTP LE — бесплатный FTP/SFTP клиент для Windows, который включает в себя и все основные возможности FTP. Умеет работать через FTP с шифрованием SSL,TLS. Включена поддержка интернациональных доменных имен (IDN). Имеется возможность сохранения сессии работы с возможностью последующего восстановления и продолжения закачки. Имеется возможность перехода на платную версию, в которой добавлен еще ряд возможностей. Core FTP LE очень легкий и быстрый. Есть возможность переключения видов (меняется расположение панелей на экране), так что каждый сможет подобрать под себя наиболее удобный. Недостатками являются отсутствие поддержки табов и интерфейс только на английском языке. При этом можно иметь открыть несколько одновременных подключений, но придется переключаться между ними через менеджер сайтов или через выпадающий список директорий.
Free FTP — стандартный FTP менеджер, включающий возможности работы с файлами через HTTP/HTTPS (для этого веб-сервер должен поддерживать такие методы как PUT,DELETE и т.п. и авторизацию). Русского интерфейса так же нет, однако интерфейс сильно упрощен — одна панель инструментов с большими иконками. Программа очень быстро загружается и не требует большого объема памяти.
Выводы:
Как я понимаю, все программы используют одну и ту же библиотеку для подключения к SFTP, поэтому сравнивать их в безопасности и в скорости соединения смысла не имеет.
Две последние программы являются бесплатными, но предоставляются без поддержки.
Русский интерфейс доступен только у FileZilla.
По использованию памяти все программы примерно одинаковы (± 10Мб).
Установка и настройка SFTP сервера (SSH FTP) в Windows на базе OpenSSH
С помощью официального пакета OpenSSH для Windows вы можете с легкостью организовать безопасный обмен файлами между клиентом и серверов Windows по защищенному протоколу передачи файлов SFTP (Secure FTP). В этой статье мы покажем, как с помощью Win32-OpenSSH установить SFTP сервер на Windows 10 или Windows Server 2016/2012R2.
Особенности протокола SFTP
Протокол SFTP (Secure File Transfer Protocol , Secure FTP или SSH FTP) это расширение протокола SSH, являющимся стандартом мира UNIX/Linux систем. Хотя с точки зрения пользователей он похож на FTP, но на самом деле это абсолютно другой протокол, не имеющий с FTP ничего общего. Данные между клиентом и сервером передаются по порту 22 через SSH туннель.
Основные преимущества протокола SFTP:
- Передача файлов и команд происходит внутри защищенной SSH-сессии;
- Для передачи файлов и команд используется одно соединение;
- Поддержка символических ссылок, функций прерывания, возобновления передачи, удаления файла и пр;
- Как правило, на каналах, где FTP работает медленно или с перебоем, SFTP-соединение работает более надежно и быстро;
- Возможность аутентификации с помощью SSH ключей.
Реализация SFTP в системах Windows
Исторически в операционных системах Windows отсутствуют встроенные средства для организации защищенного SFTP сервера. Для этих целей обычно использовались открытые или коммерческие решения, к примеру, Core FTP, FileZilla, CYGWIN, OpenSSH, FTP Shell, IPSwitch и пр. Однако несколько лет назад Microsoft выпустила свою версию порта OpenSSH для win32. Данный проект называется Win32-OpenSSH.
Рассмотрим процесс настройки SFTP сервера в Windows 10 и Windows Server 2016/2012 R2 с помощью пакета Win32-OpenSSH.
Установка Win32 OpenSSH в Windows 10 1803+/Windows Server 2019
В Windows 10, начиная с билда 1803, и в Windows Server 2019 пакет OpenSSH (как и RSAT) уже включен в операционную систему в виде Feature on Demand (FoD).
В Windows 10 и Windows Server 2019 вы можете установить сервер OpenSSH с помощью командлета PowerShell:
Add-WindowsCapability -Online -Name OpenSSH.Server*
Или с помощью DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server
Или можно установить OpenSSH из графического интерфейса Windows 10 (Settings -> Apps -> Optional Features -> Add a feature -> Open SSH Server -> Install).
Исполняемые файлы OpenSSH находятся в каталоге:
Конфигурационный файл sshd_config находится в каталоге C:\ProgramData\ssh (каталог создается после первого запуска службы).
Файл authorized_keys и ключи хранятся в каталоге %USERPROFILE%\.ssh\.
Установка Win32 OpenSSH на Windows Server 2016/2012 R2
В предыдущих версиях Windows 10 и в Windows Server 2016/2012 R2 вы должны скачать и установить OpenSSH с GitHub (https://github.com/PowerShell/Win32-OpenSSH/releases). Нам нужна версия для 64 битной версии Windows: OpenSSH-Win64.zip (3,5 Мб).
- Распаковываем содержимое архива в целевой каталог, к примеру: C:\OpenSSH-Win
- Запускаем командную строку PowerShell с правами администратора и переходим в каталог OpenSSH: Cd C:\OpenSSH-Win
- Добавьте путь к каталогу OpenSSH в переменную окружения Path;
- Установите сервер OpenSSH: .\install-sshd.ps1 (должно появиться зеленое сообщение “sshd and ssh-agent services successfully installed”);
- Сгенерируйте SSH ключи для сервера (нужны для запуска службы sshd): ssh-keygen.exe –A
, убедитесь, что создан каталог %programdata%\ssh.
Тестируем SFTP подключение с помощью WinSCP
Попробуем подключиться к поднятому нами SSH серверу по протоколу SFTP. Для этих целей воспользуемся свободным клиентом WinSCP.
В окне настройки подключения выберите протокол передачи файлов SFTP, укажите имя сервера и данные учетной записи Windows, под которой осуществляется подключение (возможно также настроить авторизацию по ключам).При первом подключении появится окно с предупреждением о том, что ключ хоста отсутствует в локальном кеше.
Если все настроено правильно, клиент должен подключиться к SFTP серверу и отобразить список файлов в домашнем каталоге пользователя (по умолчанию каталог с профилем пользователя).
С помощью привычного интерфейса файлового менеджера можно безопасно копировать файлы между сервером и клиентом. Передача файлов будет осуществляться по защищённому протоколу SFTP.
Удаление службы Win32 OpenSSH
Чтобы корректно удалить службу Win32 OpenSSH из системы:
- Откроем консоль Powershell с правами администратора
- Остановим службу SSHD: Stop-Service sshd
- Удалим службу OpenSSD:Удалим ключи: .\uninstall-sshlsa.ps1
PuTTY: Telnet/SSH Клиент
PuTTY — клиентская программа для работы с сетевыми протоколами Telnet, SSH, SCP, SFTP, для подключения по COM-порту и ZModem, утилита для генерации RSA, DSA, ECDSA, Ed25519 цифровых SSH-ключей.
PuTTY является свободным приложением с открытым исходным кодом, содержит реализацию сетевых протоколов SSH, Telnet, Rlogin, и распространяется под Open Source лицензией MIT.
Пакет PuTTY включает в себя несколько приложений:
- PuTTY: Telnet и SSH клиент
- PSCP: SCP клиент — копирование файлов по шифрованному протоколу с управлением из командной строки
- PSFTP: SFTP клиент — копирование файлов по SSH, подобно FTP
- PuTTYtel: отдельный Telnet клиент
- Plink: интерфейс командной строки к PuTTY
- Pageant: агент SSH-аутентификации для PuTTY, PSCP и Plink
- PuTTYgen: утилита для генерации SSH-ключей
Вы можете скачать и установить, как полный инсталлятор, так и каждый модуль по отдельности. На странице загрузки PuTTY представлены бинарные файлы под Windows, и исходные коды, в том числе и под Linux/Unix. Помимо официальных релизов и поддерживаемых ОС, существуют аддоны и модификации PuTTY, созданные сторонними разработчиками. А кроме основной документации, рекомендуем ознакомиться с особенностями русской версии PuTTY, часто задаваемыми вопросами FAQ, со статьями, прямо или косвенно связанными с работой PuTTY, SSH, и работе с Linux в целом, а также каталогом цветовых схем PuTTY.
Новости PuTTY
21.12.2019 — Русская версия PuTTY 0.73-RU-17
- Переход на версию PuTTY 0.73.
- Временно деактивированы патчи, некорректно работающие с последними версиями PuTTY: Cygterm, Background Image, Wincrypt.
- Другие исправления ошибок и незначительные багфиксы.
29.09.2019 — Релиз PuTTY 0.73
- В Windows другие приложения могли привязываться к тому же TCP-порту, что и локальный port-forwarding порт PuTTY (см. vuln-win-exclusiveaddruse).
- Исправлена ошибка при обработке терминалом режима xterm bracketed paste mode, из-за которой две escape-последовательности, заключенные в скобки, могли появляться вместе, что позволяло ошибочно идентифицировать вставленные данные как ручной ввод с клавиатуры (см. vuln-bracketed-paste-data-outside-brackets).
- Сервер SSH-1, отправляющий сообщение об отключении, мог вызвать доступ к освобожденной памяти (см. ssh1-disconnect-use-after-free).
- Plink под Windows падал при старте, если он действовал как connection-sharing downstream.
- Теперь PuTTY под Windows корректно обновляет размер окна терминала, если разрешение экрана было изменено, а окно PuTTY в этот момент было развернуто на весь экран.
- Исправлена ошибка, приводившая к потере символов в конце строк при обработке терминалом цветных сообщений GCC.
- Исправлено плохое взаимодействие между операцией «Очистить прокрутку», и выделением мыши, которое могло приводить к появлению сообщений об ошибках.
20.07.2019 — Релиз PuTTY 0.72
Исправления безопасности, найденные в рамках финансируемой EU-FOSSA программы Bug Bounty:
- Целочисленное переполнение при разборе длины пакета SSH-1 (см. vuln-ssh1-buffer-length-underflow).
- Переполнение буфера в SSH-1, если сервер отправляет два крошечных ключа RSA (см. vuln-ssh1-short-rsa-keys).
- Клиентский код Pageant под Windows не проверял поле длины ответа, что могло привести к уязвимости во всех инструментах SSH-клиента (PuTTY, Plink, PSFTP и PSCP), если вредоносная программа могла выдать себя за Pageant (см. vuln-win-pageant-client-missing-length-check).
- Исправлен сбой при обмене ключами GSSAPI/Kerberos, затрагивающий сторонних поставщиков GSSAPI под Windows (например, MIT Kerberos для Windows).
- Исправлен сбой при обмене ключами GSSAPI/Kerberos, происходивший если сервер предоставил обычных ключ хоста SSH как часть обмена.
- Символы доверия («trust sigils» — значки PuTTY в начале локально сгенерированных строк в окне терминал — чтобы отличить их от данных, отправляемых сервером) никогда не отключались в SSH-1 или Rlogin.
- Символы доверия никогда не включались снова, если пользователь инициировал перезапуск сеанса.
- PSCP в режиме загрузки SCP мог создавать файлы с ложной новой строкой в конце их имени.
- PSCP в режиме загрузки SCP с опцией -p генерировал ложные сообщения о несанкционированном переименовании файлов.
- Начальное сообщение с инструкцией никогда не выводилось во время SSH keyboard-interactive аутентификации.
- Вставка очень длинных строк во время совместного использования SSH-соединений могло вызвать падение downstream-окна PuTTY.
- В раскладках клавиатуры с клавишей «,» на цифровой клавиатуре (например, немецкая) PuTTY под Windows могла вернуть «.» вместо «,».
- PuTTYgen мог сгенерировать RSA-ключ на один бит короче, чем было запрошено.