Sftp server для windows

С помощью встроенного пакета OpenSSH для Windows вы можете легко настроить безопасную передачу файлов между клиентом и серверов Windows по защищенному протоколу передачи файлов SFTP (Secure FTP). В этой статье мы покажем, как установить и настроить установить SFTP сервер в Windows 10/11 или Windows Server 2022/2019/2016/2012R2 с помощью встроенных средств (Win32-OpenSSH).

Содержание:

  • Установка OpenSSH в Windows
  • Настройка SFTP сервера на базе OpenSSH в Windows
  • Подключение к SFTP серверу с помощью PowerShell и WinSCP
  • Настройка SFTP аутентификации по ключам

Протокол SFTP (Secure File Transfer Protocol , Secure FTP или SSH FTP) это расширение протокола SSH, являющимся стандартом мира UNIX/Linux систем. Хотя с точки зрения пользователей он похож на FTP, но на самом деле это абсолютно другой протокол, не имеющий с FTP ничего общего. Данные между клиентом и сервером передаются по порту 22 через SSH туннель.

Основные преимущества протокола SFTP:

  • Передача файлов и команд происходит внутри защищенной SSH-сессии;
  • Для передачи файлов и команд используется одно соединение;
  • Поддерживаются символические ссылки, доступны функций прерывания, возобновления передачи, удаления файла и другие;
  • Обычно на каналах, где FTP работает медленно или с перебоями, SFTP-соединение работает более надежно и быстро;
  • Возможность аутентификации с помощью SSH ключей.

Не нужно путать протоколы SFTP и FTPS. FTPS – это по сути обычный FTP с SSL сертификатом, а SFTP – это передача FTP данных и команд внутри SSH сессии.

В современные версии Windows по-умолчанию встроен порт OpenSSH для win32 (Win32-OpenSSH). Вы можете использовать его для организации защищенного SFTP сервера вместо таких сторониих продуктов как Core FTP, FileZilla, CYGWIN, OpenSSH, FTP Shell, IPSwitch и пр.

Установка OpenSSH в Windows

Пакет OpenSSH уже включен в операционную систему в современных билдах Windows 10 (начиная с 1803), Windows 11, Windows Server 2022/2019 в виде Feature on Demand (как и RSAT).

В этих версиях Windows вы можете установить сервер OpenSSH с помощью PowerShell:

Add-WindowsCapability -Online -Name OpenSSH.Server*

Или с помощью DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0

Также можно установить OpenSSH из графического интерфейса Windows 10 (Settings -> Apps -> Optional Features -> Add a feature -> Open SSH Server -> Install).

установка сервере openssh в windows

Чтобы проверить, установлен ли пакет:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Исполняемые файлы OpenSSH находятся в каталоге:

C:\windows\system32\OpenSSH\

Конфигурационный файл sshd_config находится в каталоге C:\ProgramData\ssh (каталог создается после первого запуска службы).

Лог — c:\windows\system32\OpenSSH\logs\sshd.log

Файл authorized_keys и ключи хранятся в каталоге %USERPROFILE%\.ssh\.

В предыдущих версиях Windows 10, в Windows 8.1 или в Windows Server 2016/2012 R2 вам придется скачать Win32-OpenSSH для Windows с GitHub и установить вручную (https://github.com/PowerShell/Win32-OpenSSH/releases). Нам нужна версия для 64 битной версии Windows: OpenSSH-Win64.zip (4,15 Мб).

  1. Распакуйте содержимое архива в целевой каталог, к примеру:
    C:\OpenSSH-Win
  2. Запустите командную строку PowerShell с правами администратора и перейдите в каталог OpenSSH:
    cd C:\OpenSSH-Win
  3. Добавьте путь к каталогу OpenSSH в переменную окружения Path;
    добавить путь к openssh в переменную окружения path

  4. Установите сервер OpenSSH:
    .\install-sshd.ps1
    должно появиться зеленое сообщение “sshd and ssh-agent services successfully installed”).

Настройка SFTP сервера на базе OpenSSH в Windows

Теперь вам нужно настроить OpenSSH для режима SFTP.

Включите автозапуск для службы SSHD и запустите ее с помощью следующих PowerShell команд управления службами:

Set-Service -Name sshd -StartupType ‘Automatic’

Start-Service sshd

С помошью PowerShell отройте в брандмауэре Windows порт TCP 22 для входящего трафика на SSH сервер:

New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH

Правило файервола для SSHD порт 22

Откройте в любом текстовом редакторе конфигурационный файл «C:\ProgramData\SSH\sshd_config», найдите и проверьте значение директивы Subsystem sftp. Здесь должен быть указан файл sftp-server.exe.

sshd_config файл конфигурации sftp_server

Рассмотрим полезные директивы в конфигурационном файле sshd_config:
# разрешить подключение к OpenSSH только для пользователей из этой группы

AllowGroups corp\admingroup
# включить аутентификацию по паролю (нельзя использовать ключи SSH)
AuthenticationMethods password
ForceCommand internal-sftp
#каталог для SFTP пользователей (по умолчанию пользователь подключается в каталог со своим профилем в папке C:\users\username)
ChrootDirectory C:\SFTPRoot

#Для каждого пользователя можно индивидуальную chrootdirectory:

Match User user1
ChrootDirectory c:\SFTPRoot\user1
ForceCommand internal-sftp
X11Forwarding no
 AllowTcpForwarding no
Match User user2
ChrootDirectory c:\SFTPRoot\user2
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

Подключение к SFTP серверу с помощью PowerShell и WinSCP

Теперь вы может подключиться к вашему SSH серверу на Windows по протоколу SFTP. Ниже мы покажем, как подключиться к SFTP серверу с помощью бесплатного клиента клиент WinSCP, консоли PowerShell и встроенной утилиты sftp.exe.

В окне настройки подключения выберите протокол передачи файлов SFTP, укажите имя сервера и данные учетной записи Windows (в формате
user@domain
для доменных пользователей), под которой осуществляется подключение (возможно также настроить авторизацию по ключам). При первом подключении появится окно с предупреждением о том, что ключ хоста отсутствует в локальном кеше.

winscp настройки sftp подключения

При первом подключении появится окно с предупреждением о том, что ключ хоста отсутствует в локальном кеше.

key-warning

Если все настроено правильно, клиент должен подключиться к SFTP серверу и отобразить список файлов в домашнем каталоге пользователя (по умолчанию каталог с профилем пользователя).

С помощью привычного интерфейса файлового менеджера можно безопасно копировать файлы между сервером и клиентом по защищённому протоколу SFTP.

sftp подключение в winscp

Для подключения к SFTP серверу из PowerShell можно использовать модуль Posh-SSH. Вы можете скачать установить модуль из PowerShell Gallery или офлайн:

Install-Module -Name Posh-SSH

установка модуля powershell ssh

Для подключения к SFTP серверу с помощью пароля, нужно получить имя пользователя и пароль через Get-Credential:

$usrCreds= Get-Credential

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

$SFTPSession = New-SFTPSession -ComputerName 192.168.13.200 -Credential $usrCreds

Теперь вы можете вывести список файлов в удаленном каталоге на SFTP сервере. В этом примере я получу список файлов на рабочем столе пользователя (профиль пользователя в этом случае будет являться корнем)

Get-SFTPChildItem -SFTPSession $SFTPSession -Path "desktop" –Recurse

powershell вывести список файлов на sftp сервере

Чтобы скачать файл с удаленного SFTP сервера:
Get-SFTPItem -SessionId $SFTPSession.SessionId -Path "desktop/OpenVPNScript.log" -Destination c:\temp

Чтобы закачать файл с вашего компьютера на удаленный SFTP хост:

Set-SFTPItem -SessionId $SFTPSession.SessionId -Path C:\Temp\mytestfile.log -Destination “desktop”

скачать файл с sftp с помощью powershell

Завершить SFTP сессию:

Remove-SFTPSession -SFTPSession $SFTPSession

В Windows вы можете использоваться встроенную утилиту sftp.exe (устанавливается вместе с клиентом OpenSSH) для подключения к SFTP серверу.

Подключиться к sftp серверу:

sftp [email protected]

Подключиться с помощью ssh ключа:

sftp -i .ssh/id_rsa [email protected]

Вывести список файлов в удаленном каталоге:

pwd

Скачать файл с SFTP в локальный каталог на ваш компьютер:

get file-test1.txt

Загрузить файл с вашего компьютера на SFTP сервер:

put file-test2.txt

Закрыть сессию:

exit

утилита sftp.exe в Windows

Настройка SFTP аутентификации по ключам

Вы можете настроить SFTP аутентификацию по ключам. В этом случае при подключении к SFTP серверу вам не нужно будет указывать пароль пользователя.

Подробно настройка SSH аутентификации по ключам описана в этой статье.

Для этого нужно:

  1. Создать на вашем компьютере (SFTP клиент) ключи для пользователя, под которым вы будете подключаться к серверу:
    ssh-keygen -t ed25519

    генерация пары ssh ключей для sftp в windows

  2. Утилита сгенерирует два файла
    id_ed25519
    (закрытый ключ для клиента) и
    id_ed25519.pub
    (открытый ключ для сервера);
  3. Теперь нужно добавить ваш SSH ключ на сервер. Скопируйте файл id_ed25519.pub(или id_rsa.pub в зависимости от типа ключа) в каталог .ssh профиля пользователя, под которым вы будете подключаться к SFTP серверу. Переименуйте файл в authorized_keys (например для пользователя alex путь будет выглядеть так:
    C:\Users\alex\.ssh\authorized_keys
    )

Теперь вы можете использоваться файл id_ed25519 для аутентификации на SFTP сервере в настройках WinSCP (настройки подключения Advanced -> to SSH > Authentication page -> Private key file).

Если вы хотите задать SSH ключ при подключении к SFTP из PowerShell, используйте такую команду:

New-SFTPSession -ComputerName 192.168.13.200 -Credential user1 -KeyFile C:\Users\alex\.ssh\id_ed25519" -Verbose

  • Overview
  • Download
  • Documentation
  • What’s new

Free, minimalist SFTP server for Windows

Getting started in 60 seconds

  1. Download and unpack the ZIP package.
  2. Run RebexTinySftpServer.exe
  3. Press Start button to begin serving files via SFTP.
  4. Edit the configuration (optional).

Features

Main features

  • Simple server for file sharing using SFTP protocol.
  • Free to use, even for commercial purposes.
  • Single user with read/write access.
  • Password and/or public/private key authentication.
  • Runs on any Windows OS with .NET 4.0 such as Windows XP, 7, 8, 10, 11 and others.
  • RSA and DSA key support.

What is it best for?

  • Local SFTP client application development and testing
  • Quick & dirty file sharing

Limitations

Not for use with real passwords

This server stores password in clear-text configuration file. The password
is even displayed on the server main form. If your scenario requires
a higher degree of security use the full-featured SFTP server such as Buru SFTP.

Compare Tiny SFTP and Buru SFTP Server

Table of Contents

Hi there! Choosing a secure file transfer protocol (SFTP) server is key to protecting sensitive data. I‘ve tested the top free Windows SFTP solutions to help you select the right one.

Why Do Businesses Need SFTP Servers?

Over 80% of midsize enterprises now use free SFTP servers instead of paid options, based on ITIC 2021 survey data. Low costs while still providing top-tier security drives this trend. Small teams can benefit greatly from open-source SFTP software as well.

As organizations share more intellectual property and customer data with partners, encrypted file transfers become critical. Budgets are tight too, so free SFTP software with enterprise capabilities brings big value.

After evaluating public benchmarks, speaking with IT teams globally, and conducting my own hands-on testing, I‘ve compiled top recommendations in this expert guide.

What Capabilities Matter Most?

Beyond basic secure file transfers, SFTP use cases span system automation, customer self-service, and application integration. Key features like:

  • User access controls – Restrict data and commands users can execute
  • Automated transfers – Schedule recurring batch file operations
  • Bandwidth throttling – Define and enforce upload/download limits
  • Detailed audit logs – Track all access attempts and file actions
  • AD integration – Utilize existing Active Directory for access management

Maximizing these capabilities in a free server improves data oversight while saving money.

The Top 5 Free SFTP Solutions Ranked

Analyzing free SFTP servers for criteria like security, usability, speed, and support, these five options deliver best-in-class technology with no licensing fees:

Rank Free SFTP Software Key Benefits
1 SolarWinds SFTP/SCP Server Full-featured from leading software vendor
2 FileZilla Server Most trusted open-source FTP/SFTP server
3 Bitvise SSH Server Strong security controls and auditing
4 Rebex Tiny SFTP Quickest setup with portability
5 /n Software Cyrus Server Feature-packed without bloat

Now let‘s explore the capabilities, pros and cons of each top free SFTP pick:

1. SolarWinds SFTP/SCP Server

With over 300,000 customers worldwide, SolarWinds consistently ranks as a top IT management software vendor on Gartner‘s Magic Quadrant. Their free SFTP and SCP solution delivers ease-of-use while still supporting larger enterprise deployments.

Trusted across many Global 2000 firms and government agencies, SolarWinds provides reliable technology you can count on. Don‘t let the free price tag fool you – this SFTP server competes with paid solutions costing thousands per year.

Key Advantages

  • Simple wizard-based setup and configuration
  • Role-based access controls for files and commands
  • Set user permission lists for access management
  • Safeguards like IP allowlisting for authorization
  • Custom retention rules for uploaded files

Potential Drawbacks

  • Additional features require upgrading to paid version
  • More focused on operational use than deep security policies
  • Not as many advanced controls as Bitvise

SolarWinds free SFTP server strikes an ideal balance for usability, security, and scalability. It‘s my top recommendation to support small workgroups or enterprise-wide deployments.

DOWNLOAD SOLARWINDS FREE SFTP/SCP SERVER

2. FileZilla Server

Used by millions globally, FileZilla is the most common open-source FTP server solution. It‘s offered complete SFTP support for encrypted file transfers since 2006 as well.

Available across all major platforms like Windows, Linux, and Mac OS, FileZilla provides outstanding cross-environment usability. The strong development community keeps security standards current through frequent updates too.

Key Advantages

  • Intuitive file manager-like interface
  • Granular user and folder permissions
  • Auto-ban IP addresses after failed login attempts
  • certificate-based user authentication
  • Supports latest SFTP/SSH algorithms like AES-256

Potential Drawbacks

  • Less suitable for large enterprise deployments
  • Advanced capabilities not FileZilla‘s focus
  • Some learning curve configuring access rules

For lean, no-cost SFTP functionality, FileZilla leads the pack. User management integration, transfer acceleration, and securing cloud storage rank among key highlights not always found in free offerings.

Give FileZilla a try first before looking elsewhere. It may already do everything you need!

DOWNLOAD FILEZILLA SERVER

3. Bitvise SSH Server

If seeking more advanced security protections and auditing, Bitvise SSH server is the gold standard free SFTP solution. It goes far beyond basic FTP servers in capabilities.

Offering granular access controls, detailed session logging, and performance monitoring, Bitvise competes with expensive commercial SFTP products. Integrating with existing LDAP and Active Directory infrastructure simplifies user management as well.

Key Advantages

  • Sophisticated security policies to protect sensitive data
  • Restrict protocols, algorithms, key lengths, and ciphers allowed
  • Tools like password complexity enforcement
  • Comprehensive session/transaction reporting
  • Limit CPU usage, number of connections, and bandwidth

Potential Drawbacks

  • Steeper learning curve mastering extensive controls
  • Mostly Windows-focused
  • Free edition lacks a few advanced features

For Windows environments needing enterprise-grade security, no free SFTP server matches Bitvise. Every access attempt gets logged while still delivering excellent transfer performance.

DOWNLOAD BITVISE FREE SSH SERVER

4. Rebex Tiny SFTP Server

When portability and speedy deployment rank as priorities, Rebex Tiny SFTP server delivers. Rebex focuses on reliable SSH-based products for Fortune 500s, targeting ease of use.

No installation gets you running quickly by just extracting and launching the EXE file. Despite the small size, Rebex doesn‘t sacrifice capabilities allowing extensive configuration like password policies, logging, and user permissions.

Key Advantages

  • Portable utility launchable from any device
  • Multi-language support – English, German, French, Japanese
  • Broad SSH key compatibility out of the box
  • Consistent top speeds in benchmarks
  • Low memory utilization around 25 MB RAM

Potential Drawbacks

  • Lacks some features of heavier installable SFTP servers
  • Mostly focused on operational use
  • Documentation is just average

If portability is paramount or just testing SFTP waters, Rebex Tiny checks all the boxes. Easy to configure, fast transfers, tiny footprint. What‘s not to love? It has become my go-to when travelling needing access.

DOWNLOAD REBEX TINY SFTP SERVER

5. /n Software Cyrus Server

Filling out the top 5 is /n Software‘s Cyrus lean, mean SFTP machine. /n continues to be a leading Windows infrastructure solutions vendor for enterprises globally.

Optimized for secure agility, Cyrus integrates seamlessly with existing Windows authentication systems like Active Directory. This saves administrative headache tying SFTP access to user credentials you already manage.

Key Advantages

  • Lightweight API-driven architecture
  • Utilize native Windows permissions
  • AD and Windows domain integration
  • Scriptable configuration via batch files
  • SSH keys interoperable with OpenSSH

Potential Drawbacks

  • Less suitable for non-Windows environments
  • Installation requires admin access
  • Documentation needs improvement

For streamlined Windows deployments, Cyrus accelerates secure file sharing while simplifying management. Well worth shortlisting and taking for a spin!

DOWNLOAD /N SOFTWARE CYRUS SFTP SERVER

Which Free Windows SFTP Server is Right For You?

Now that you know the top solutions available, how do you select the best fit? Walk through these key questions:

1. What protocols beyond SFTP are needed?

If requiring FTPS, FTP, or SSH connectivity alongside basic SFTP capability, Bitvise and SolarWinds are leading choices.

2. How many users and data sensitivity level?

Larger user counts with highly confidential data makes Bitvise ideal. More basic secure file transfer needs enable simpler software like Rebex or FileZilla.

3. What level of security controls required?

Again, if comprehensive access policies, permissions, and activity tracking are mandatory, Bitvise leads the pack. Evaluate whether advanced protections justify its steeper learning curve.

4. What types of file transfers are most common?

If automating batch transfers, both SolarWinds and Bitvise provide robust scheduling capabilities. More ad hoc people-driven workflows fit with the likes of FileZilla.

5. What‘s the server platform or cloud strategy?

On-premises Windows servers are common SFTP targets. But also consider cloud hosts like AWS if infrastructure resides there. Cyberduck and WinSCP offer good SFTP support direct to S3 buckets too.

Take the time to analyze your expected functionality needs, security requirements, speed benchmarks, and enterprise ecosystem interoperability.

SFTP Alternatives Like MFT and EFSS

While SFTP servers make an excellent secure transfer foundation, a couple other emerging options like MFT and EFSS platforms offersome advantages:

Managed File Transfer (MFT) solutions help centralize and govern file operations spanning applications, networks, users, and security perimeters. Top capabilities beyond basic SFTP include:

  • Workflow automation – Orchestrate multi-step processes
  • Data translation – Convert between formats like EDI, CSV, XML
  • Visibility – End-to-end transfer monitoring and alerts
  • Compliance – Apply policies ensuring standards are met

Leading MFT examples like Progress MOVEit, GoAnywhere MFT, and Globalscape EFT Server add substantial business logic on top of file operations.

Enterprise File Sync and Share (EFSS) combines intuitive user file accessvia web and mobile apps with backend data protection applying controls like:

  • Authentication – Ensure only approved users
  • Device inspection – Block risky computers
  • Activity auditing – Log who does what
  • Access permissions – Restrict actions by people and content

Top EFSS solutions like Egnyte, Accellion, and SecureDocs simplify secure external collaboration while still enabling IT governance.

If advanced workflows or easy front-end data sharing are priorities, consider if complementary MFT or EFSS tools make sense!

Closing Recommendations

I hope mapping out the top free SFTP server software for Windows helps guide your secure file transfer solution selection. Let me know if any other questions come up!

Prioritizing capabilities around security, transparency, automation, and user experience will serve you well. But no need to overspend on licensing when open-source alternatives like SolarWinds and Bitvise deliver enterprise scale and oversight.

Wishing you success in your project!

Jesse

Documentation » Using WinSCP » Guides » Other »

Microsoft maintains a port of OpenSSH for Windows. You can use the package to set up an SFTP/SSH server on Windows.

  • Installing SFTP/SSH Server
    • On Windows 11 and Windows 10
    • On earlier versions of Windows
  • Configuring SSH server
  • Setting up SSH public key authentication
  • Connecting to the server
    • Finding Host Key
    • Connecting
  • Further reading

Advertisement

Installing SFTP/SSH Server

On Windows 11 and Windows 10

  • On Windows 11:
    • Go to Settings > System > Optional features and click on View features.
    • Locate “OpenSSH server” feature, select it, click Next, and then click Add.
  • On Windows 10 (version 1803 and newer):
    • Go to Settings > Apps > Apps & features > Optional features and click on Add a feature.
    • Locate “OpenSSH server” feature, expand it, and select Install.

Binaries are installed to %WINDIR%\System32\OpenSSH. Configuration file (sshd_config) and host keys are installed to %ProgramData%\ssh (only after the server is started for the first time).

You may still want to use the following manual installation if you want to install a newer version of OpenSSH than the one built into Windows.

On earlier versions of Windows

  • Download the latest OpenSSH for Windows binaries (package OpenSSH-Win64.zip or OpenSSH-Win32.zip)
  • As the Administrator, extract the package to C:\Program Files\OpenSSH
  • As the Administrator, install sshd and ssh-agent services:
    powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

Configuring SSH server

  • Allow incoming connections to SSH server in Windows Firewall:
    • When installed as an optional feature, the firewall rule “OpenSSH SSH Server (sshd)” should have been created automatically. If not, proceed to create and enable the rule as follows.
    • Either run the following PowerShell command as the Administrator:
      New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:\Windows\System32\OpenSSH\sshd.exe"

      Replace C:\Windows\System32\OpenSSH\sshd.exe with the actual path to the sshd.exe (C:\Program Files\OpenSSH\ssh.exe, had you followed the manual installation instructions above).

    • or go to Windows Security > Firewall & network protection1 > Advanced Settings > Inbound Rules and add a new rule for port 22.
  • Start the service and/or configure automatic start:
    • Go to Control Panel > System and Security > Windows Tools (Administrative Tools on Windows 10 and older) and open Services. Locate OpenSSH SSH Server service.
    • If you want the server to start automatically when your machine is started: Go to Action > Properties (or just double-click the service). In the Properties dialog, change Startup type to Automatic and confirm.
    • Start the OpenSSH SSH Server service by clicking the Start the service link or Action > Start in the menu.

Advertisement

These instructions are partially based on the official deployment instructions.

Setting up SSH public key authentication

Follow a generic guide for Setting up SSH public key authentication in *nix OpenSSH server, with the following difference:

  • Create the .ssh folder (for the authorized_keys file) in your Windows account profile folder (typically in C:\Users\username\.ssh).2
  • For permissions to the .ssh folder and the authorized_keys file, what matters are Windows ACL permissions, not simple *nix permissions. Set the ACL so that the respective Windows account is the owner of the folder and the file and is the only account that has a write access to them. The account that runs OpenSSH SSH Server service (typically SYSTEM or sshd) needs to have read access to the file.
  • Though, with the default Win32-OpenSSH configuration there is an exception set in sshd_config for accounts in Administrators group. For these, the server uses a different location for the authorized keys file: %ALLUSERSPROFILE%\ssh\administrators_authorized_keys (i.e. typically C:\ProgramData\ssh\administrators_authorized_keys).

Connecting to the server

Finding Host Key

Before the first connection, find out the fingerprint of the server’s host key by using ssh-keygen.exe for each file.

In Windows command-prompt (run as Administrator), use:

for %f in (%ProgramData%\ssh\ssh_host_*_key) do @%WINDIR%\System32\OpenSSH\ssh-keygen.exe -l -f "%f"

Replace %WINDIR%\System32 with %ProgramFiles%, if appropriate.

In PowerShell (run as Administrator), use:

Get-ChildItem $env:ProgramData\ssh\ssh_host_*_key | ForEach-Object { . $env:WINDIR\System32\OpenSSH\ssh-keygen.exe -l -f $_ }

Replace $env:WINDIR\System32 with $env:ProgramFiles, if appropriate.

You will get an output like this:

C:\Windows\System32\OpenSSH>for %f in (%ProgramData%\ssh\ssh_host_*_key) do @%WINDIR%\System32\OpenSSH\ssh-keygen.exe -l -f "%f"
1024 SHA256:K1kYcE7GHAqHLNPBaGVLOYBQif04VLOQN9kDbiLW/eE martin@example (DSA)
256 SHA256:7pFXY/Ad3itb6+fLlNwU3zc6X6o/ZmV3/mfyRnE46xg martin@example (ECDSA)
256 SHA256:KFi18tCRGsQmxMPioKvg0flaFI9aI/ebXfIDIOgIVGU martin@example (ED25519)
2048 SHA256:z6YYzqGiAb1FN55jOf/f4fqR1IJvpXlKxaZXRtP2mX8 martin@example (RSA)

Connecting

Start WinSCP. Login dialog will appear. On the dialog:

  • Make sure New site node is selected.
  • On New site node, make sure the SFTP protocol is selected.
  • Enter your machine/server IP address (or a hostname) into the Host name box.
  • Enter your Windows account name to the User name box. It might have to be entered in the format user@domain if running on a domain.
  • For a public key authentication:
    • Press the Advanced button to open Advanced site settings dialog and go to SSH > Authentication page.
    • In Private key file box select your private key file.
    • Submit Advanced site settings dialog with the OK button.
  • For a password authentication:
    • Enter your Windows account password to the Password box.
    • If your Windows account does not have a password, you cannot authenticate with the password authentication (i.e. with an empty password), you need to use the public key authentication.
  • Save your site settings using the Save button.
  • Login using Login button.
  • Verify the host key by comparing fingerprints with those collected before (see above).

Advertisement

If you cannot authenticate to the server and use Windows 10 Developer mode, make sure that your OpenSSH server does not conflict with an internal SSH server used by the Developer mode. You may need to turn off the SSH Server Broker and SSH Server Proxy Windows services. Or run your OpenSSH server on a different port than 22.

Further reading

  • Guide to Installing Secure FTP Server on Windows using IIS;
  • Guide to uploading files to SFTP server;
  • Guide to automating operations (including upload).

Last modified: by martin

We are reader supported and may earn a commission when you buy through links on our site. Read Disclosure

Sooner or later, every network administrator will need to transfer files from one system to another. And when they do, chances are they’ll use some form of File Transfer Protocol. Throughout the history of the Internet, several different protocols have seen the light, each successive one addressing some shortcomings of its ancestors.

Today, we’re having a look at the best free SFTP and FTPS server for Windows and Linux. Why these two specific protocols? Because of security concerns. Both protocols transfer files in an encrypted fashion, making it ideal for use on public networks, such as the Internet.

But before we have a look at the actual list, we’ll start off by discussing the differences between the multiple File Transfer Protocols available today. Then, we’ll introduce the best servers for Windows including a few “portable” options, i.e. servers that don’t require installation. Next, we’ll go over the best Linux free SFTP and FTPS servers.

File Transfer Protocols, What Are The Differences?

FTP is the granddaddy of all file transfer protocols. It was invented in the early 70’s as one of the primary ways of transferring files between systems. It has become so commonplace that nowadays, most operating systems–including Windows, macOS, and Linux–have some form of FTP client. FTP is an unencrypted protocol, making it less than ideal for use on public networks. This is especially true when you consider that not only the transferred files but also the login credential are unencrypted. Anyone intercepting traffic would be able to capture usernames and passwords. This is why SFTP and FTPS were invented.

Although it may look at first sight like SFTP and FTPS vary only by the placement of the “S”, they are actually quite different beasts. Both we developed to add security to FTP file transfers but they do it in a completely different way. Let’s see how each one operates.

The FTPS–which stands for File Transfer Protocol Secure and is also referred to as FTPES–is simply a secure version of the FTP protocol which adds an encryption layer using either the SSL (Secure Sockets Layer) or TLS (Transport Layer Security) protocols. It’s really nothing more than the FTP protocol that’s been improved to allow data encryption negotiation. FTPS was introduced in the mid 90’s shortly after Netscape released their Secure Sockets Layer extension and is now widely used. It was later improved to allow TLS in addition to SSL encryption, providing even better security.

SFTP–which stands for Secure File Transfer Protocol–is another secure way of transferring files in an encrypted fashion but it is not based on the FTP protocol but instead, on Secure SHell, or SSH. In fact, SFTP is just an extension of the SSH protocol that includes an FTP-like file transfer facility and “understands” FTP commands. As such, its security is the same as that of any SSH session.

It is important not to confuse Secure File Transfer Protocol and Simple File Transfer Protocol, both referred to as SFTP. The latter is a now-defunct protocol that was developed to be a compromise between the elementary TFTP protocol and the full-featured FTP protocol. It is no longer used but its name still exists for historical reasons.

The description of SFTP might remind you of yet another similar protocol called SCP or Secure Copy.SCP is yet another file transfer protocol that operates inside an SSH connection. This is where the similarity ends, though, as SCP only provide file transfer but has none of the advanced file management capabilities of the other protocols.

To learn more about SCP, read our recent article: Best Free SCP Servers Available for Windows, Linux and macOS.

As we’ve seen, SFTP and FTPS are very different. For that reason, not many servers will work with both protocols. Typically, FTP servers will often include FTPS capability while SSH server will allow SFTP. For each of the best servers we’re about to discuss, we’ll let you know whether they do SFTP, FTPS, or both.

1. SolarWinds SFTP/SCP Server (FREE DOWNLOAD)

You might already know SolarWinds. After all, they make some of the best network management and monitoring software. And SolarWinds as also famous for making several free software utilities. These include our number one choice, the SolarWinds Free SFTP/SCP server.

As its name implies, the server will do both TFTP and SCP. It won’t, unfortunately, do FTPS. Running as a Windows service, the server’s operation should be a no-brainer for any system admin. And if you’re new to this, its easy user interface will make you feel comfortable very quickly.

The SolarWinds free server does not use system accounts for user authentication. Instead, it uses virtual users that you create within the application for the purpose of copying files. These virtual users offer heightened security. If, for whatever reason, an account was compromised, it couldn’t be used to log into the system directly. Another feature that can improve the server’s security is that it can be configured to only allow incoming connections from specific IP addresses or ranges.

The SolarWinds Free SFTP/SCP server can be used to securely transfer files up to 4 GB in size. It can also handle concurrent transfers from multiple devices. It downloads as a zip file that extracts into a Windows MSI installer.

Once installed, configuration as simple as can be. You just start its control panel application and specify a few options such as permitted protocols and transfer options.

2. FileZilla Server

FileZilla is probably one of the best-known FTP clients but it’s also a very good FTP server. Although the FileZilla client supports both FTPS and SFTP, the server component, which solely runs on Windows will only allow FTPS–and, of course, FTP–file transfers.

Like its client counterpart, the FileZilla server is an open-source software which can be downloaded for free and used with no restrictions. FileZilla supports the transfer of files of up to 4 GB. It also supports pause and resume. Drag-and-drop support, remote file editing, and remote file search make it simple and easy to use without compromising security.

3. Microsoft IIS FTP Server

If you’re running Internet Information Services (IIS) on your Windows server, you might not need any extra software to handle FTPS. Although IIS is primarily a web server, it also includes a built-in FTP server. And just like the web server will support both HTTP and HTTPS, the FTP server will also support FTPS.

All you need to do to use it is to add the FTP server role and create certificates. This will result in a full-featured FTPS server without having to install anything more. And since it’s part of the Windows OS, chances are it won’t cause any issues or conflicts with other software you might be running. The only limitation is that it won’t do SFTP which is based on SSH.

4. FreeFTPd

A close cousin of FreeSSHd, FreeFTPd is a full-featured FTP server for Windows. It is one of the rare servers that will support both SFTP and FTPS, thanks to its SSH lineage. As its name implies, FreeFTPd is a free FTP server for Any version of Windows from NT 4.0. It supports the creation of local users–rather than using Windows domain accounts.

FreeSFTP can be configured during installation to run as-needed as an application or to run as a system service. Running it as a service means that it will always be available to your SFTP users. There was a vulnerability discovered in version 1.0.11 but it was quickly fixed in version 1.0.12. Make sure the version you install is at least 1.0.12. The latest one you can download from the developer’s website is 10.0.13.

5. Syncplify.me Server!

The full-featured SFTP and FTPS server from Syncplify.me is really a server on steroids. It will do much more than just server files. It was created with security in mind. One of its main features, called Syncplify.me Protector™, uses artificial intelligence to automatically identify attacks. Even unknown ones.

The Syncplify.me Server! can be installed in a high-availability mode where two servers will act as one, eliminating downtime. It boasts several advanced configuration options and can be expanded using scripts in JavaScript, C++, Pascal or Basic to automate your document management and workflow.

The Server supports will run on Windows Server 2008 and up, in both 32- and 64-bit versions. Although this is a paid piece of software, there’s a free/evaluation edition which has all the features of the Ultimate edition. It will, however, only accept a single connection and it can’t be used in a production. environment.

6. Bitvise SSH/SFTP Server

Bitvise specializes in secure remote access software for Windows. Its primary products are the Bitvise SSH Server and SSH Client. Since SFTP is just an extension of SSH, their server will also support it. The Bitvise server is known to be one of the fastest around. Files will transfer as quickly as the client and the network connection will allow. Furthermore, an unlimited number of simultaneous connections is supported. The only real limitation you’ll encounter when using it will be that of the hardware on which it runs.

Security-wise, Bitvise leaves nothing to be desired as it uses Crypto++ 5.3, one of the best encryption libraries, to secure connections. The server also supports virtual accounts to ensure your system accounts are never exposed or compromised. The only drawback of Bitvise is that it’s not really free. It is for personal and non-commercial use but any other use required purchasing a license after a thirty-day evaluation period. At less than $100 dollars per server, the price is well worth it. They also have site licenses and worldwide limited licenses for larger organizations.

7. SYSAX Multi Server

The SYSAX Multi Server supports multiple protocols. It will allow connections using both SFTP and FTPS but it will also handle FTP and HTTPS-based file transfers. And to make it even better, it’s also a telnet and SSH server.  The server supports the use of both Windows accounts and locally-created “virtual” accounts. It is easy to manage and configure–even remotely–thanks to its user-friendly web-based interface.

The server is available in several different versions. The Personal edition is free but it is restricted to one connection at a time and it won’t fo HTTPS file transfers. It is also restricted to a personal or non-commercial use. There are also Standard, Professional, and Enterprise editions each supporting a few more feature that the other. Prices range from $197 to $697.

8. CompleteFTP Free Edition

CompleteFTP Free Edition from EnterpriseDT has a full graphical user interface and it is very easy to use and configure. It will support both FTP and FTPS file transfers and has several interesting features such as support for unlimited users which is not common with free products and the creation of virtual file system to control what users can access.

Another nice feature of the product is that detailed user guides are built right into the product. you simply need to click Step-by-step guides at the top of the windows to learn how to use the different features and options. Like the previous entry, in addition to the free version, several other versions with progressively more features are also available at prices between $299 and $999. All the paid versions will, among other improvements, add support for SFTP file transfers.

9. XLight FTP server

The Xlight FTP server is a simple Windows FTP, SFTP, and FTPS server. It is a powerful program with low memory and CPU usage. It is designed for high performance and can handle thousands of simultaneous FTP connections. The server supports Active Directory users, LDAP users, or local users, making it a great fit in many different situations.

The Xlight FTP Server has many useful features and it has a free edition for personal use. It is limited to 5 concurrent connections whereas the Standard edition at $40 allows 50 and the Professional edition at $130 is unlimited. Note that an additional license is required for SSH and therefore SFTP. The software will run on Windows 2000, XP, Vista, 7, 10, 2003, 2008 and 2012.

Portable Free SFTP servers

The next couple of entries on our list are interesting because they are portable solutions. That is, solutions that require no installation on the server computer. They can come in very handy for ad-hoc situations when you quickly need a server. You can carry it with you on a USB flash drive and always have it ready to use.

10. Syncplify.me Micro SFTP server

Syncplify.me, who brought us their full-featured SFTP and FTPS server–number 5 on our list, also offers a Micro SFTP server for Windows. Self-contained and completely portable, this SFTP server can be run from a USB stick without requiring any installation. And unlike its big brother, the Syncplify.me SFTP and FTPS server, the Micro SFTP server edition is truly free and can be used in any situation including production or commercial uses.

Of course, the software has some limitations. It only supports one user profile, one root folder, and incoming connections from one client at a time. For that reason, many use it as a test platform for SFTP client software or to test in-software file transfer features. Others use it as a personal secure file transfer server for their small home network.

11. Core Mini SFTP Server

Like the previous selection, the Core Mini FTP server is a free (S)FTP server that doesn’t require any installation. Just go to the Core FTP server’s web page to download it.  Once you’ve downloaded the executable file which is available in 23- or 64-bit versions and is less than 2 Mb in size, you simply run it. You’ll need to specify the FTP username and password to be used as well as the port and root directory and you’re good to go.

Just keep in mind that the server will run with your user account and will have access to all of your files. Make sure you specify a root directory where damage by users is of no consequences. Other than that, it’s a great little server that’s easy to use albeit somewhat limited.

Free SFTP and FTPS servers for Linux

With Linux being open-source, it’s no surprise that there are many open-source and free SFTP and FTPS servers for the popular operating system. In fact, pretty much every distribution has an open source FTP server which, if not pre-installed, is available through the distribution’s package manager. Here are our top 3 servers.

12. vsftp

Vsftp is a well-known free FTP server for many Unix-like systems, including Linux. It is very stable, fast, and it won’t use many systems resources. It has a long feature list which, among others, includes support for virtual users (defined locally within the server) and per-user configuration including rate limiting or throttling.

Several well-known Linux distributions use vsftp as their default FTP server. That should tell you a lot about the product’s security and stability. And for even better security, the software’s maintainer, Chris Evans, has a history of discovering security vulnerabilities.

13. ProFTPd

It’s clear, when you look at its configuration file, that ProFTPd’s developers were big fans of the Apache web server. The format of the configuration file is almost identical to Apache’s. And just like Apache, it uses modules to load needed functionality. There are modules that can be added to the basic FTP server to add SFTP and FTPS capabilities.

To ease the pain of configuring the server, The ProFTPd website has several example configurations to help you get started quickly. In addition to a basic config file, there’s one for anonymous FTP, two for using virtual hosts, and one which makes use of MySQL user authentication. The software can be downloaded as a tarball from the developer’s website. Alternatively, many distributions include it as part of their optional packages.

14. PureFTPD

Another great open-source SFTP server, PureFTPD not only work on Linux but also on most Unix-like operating systems such as BSD or Solaris. The project’s goal is to provide a standards-compliant FTP server. All the messages have been translated into multiple languages, making this an ideal choice for multi-lingual environments.

PureFTPD is free and comes with absolutely no limitations. all of its features are available to any user. And talking about features, we can mention the server’s ability to limit connections bandwidth, to run sessions it in a virtual file system, to set upload and or download limits, and several more great features. Pre-built packages are available for several Linux distributions including Mandriva, Debian, Ubuntu, PLD Linux, and Slackware. It’s also available as source code that can be compiled with no modification and run on any other supported OS.

15. Using OpenSSH

SFTP runs on SSH. And since SSH is built into most Linux system, SFTP is also there are ready to be used. It’s not the case for FTPS as it requires TLS libraries which are not always included. But if you have SFTP, why not use it and forget about FTPS?

On a typical Linux system, most users–as long as they have SSH access–should be able to use an SFTP client and connect to the server. That would allow them to transfer files to and from their home directory. Keep in mind that port 22–used by SFTP–could be blocked by default. You might need to dig a little to figure how to open it.

Wrapping  It Up

To this day, FTP is still a very popular way of transferring files. Its lack of security gave birth to FTPS and SFTP which, although they do it in very different ways, both address security concerns. Chances are these improved protocols will still be used for years to come. Some of our top software will only do one protocol or the other while some will do both but all will do an excellent job. However, we can’t help but prefer our number one pick, the SolarWinds SFTP/SCP server as it is not only a great product but also because it is from a company that has an excellent reputation for providing some of the best network admin software including some amazing free tools.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Net localgroup windows 10
  • Как изменить цветопередачу на ноутбуке windows 11
  • Создание ftp сервера на windows server 2016
  • Где в диспетчере устройств оперативная память windows 10
  • Почему компьютер не видит вай фай windows 10