Sftp сервер для windows server 2012

Организация сервера для защищенной передачи файлов по протоколу SSH на Windows Server 2012 R2

С помощью встроенного пакета 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:windowssystem32OpenSSH

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

Лог — c:windowssystem32OpenSSHlogssshd.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”).powershell скрипт установки openssh install-sshd.ps1

Настройка 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:ProgramDataSSHsshd_config», найдите и проверьте значение директивы Subsystem sftp. Здесь должен быть указан файл sftp-server.exe.

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

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

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

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

Match User user1
ChrootDirectory c:SFTPRootuser1
ForceCommand internal-sftp
X11Forwarding no
 AllowTcpForwarding no
Match User user2
ChrootDirectory c:SFTPRootuser2
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

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

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

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

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:Tempmytestfile.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:Usersalex.sshauthorized_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:Usersalex.sshid_ed25519" -Verbose

You can use the built-in OpenSSH package in Windows to easily enable secure file transfers between the client and Windows server using the SFTP (Secure FTP) protocol. In this article, we will show how to install and configure an SFTP server on Windows 10 or Windows Server 2022/2019/2016/2012R2.

Contents:

  • How to Install OpenSSH on Windows?
  • How to Configure SFTP Server on Windows Using OpenSSH?
  • Connecting to SFTP Server Using WinSCP or PowerShell
  • Configuring SFTP Public Key Authentication

SFTP (Secure File Transfer Protocol, Secure FTP, or SSH FTP) is the extension of SSH protocol, which is the standard in the world of UNIX/Linux systems. From the user’s point of view, it is similar to FTP, but in fact, it is a completely different protocol, having nothing in common with FTP. Data between the client and the server is transmitted on port 22 through an SSH tunnel (TCP port 22).

The main advantages of SFTP:

  • Files and commands are transferred within a secure SSH session;
  • One connection is used to send both files and commands;
  • Symbolic links, interrupt/resume the transfer, file delete functions, etc. are supported;
  • SFTP connection is much faster and more reliable on WAN links where FTP is slow or intermittent;
  • Possibility to authenticate using SSH keys.

Do not confuse SFTP and FTPS protocols. FTPS is essentially just a simple FTP with an SSL certificate, and SFTP is the protocol to transfer the FTP data and commands inside the SSH session.

The win32 port of OpenSSH (Win32-OpenSSH) is built into all modern versions of Windows by default. You can use it to configure a secure SFTP server instead of using third-party products like Core FTP, FileZilla, CYGWIN, FTP Shell, IPSwitch, etc.

How to Install OpenSSH on Windows?

The OpenSSH package is a part of the operating system in modern builds of Windows 10 (starting from 1803), Windows 11, and Windows Server 2022/2019 as a Feature on Demand (like RSAT).

On these versions of Windows, you can install the OpenSSH server using PowerShell:

Add-WindowsCapability -Online -Name OpenSSH.Server*

Or using DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0

Also, you can install OpenSSH server from Windows 10 GUI (Settings -> Apps -> Optional Features -> Add a feature -> Open SSH Server -> Install).

install openssh server on windows 10

To check if a package is installed:

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

  • OpenSSH executables are located in the directory: c:windowssystem32OpenSSH;
  • The sshd_config configuration file is located in  C:ProgramDatassh (this directory is created after the first start of the sshd service);
  • Log file: c:windowssystem32OpenSSHlogssshd.log;
  • The authorized_keys file and keys are stored in a directory: %USERPROFILE%.ssh.

On the previous earlier builds of Windows 10, Windows 8.1, and on Windows Server 2016/2012 R2, you will have to download Win32-OpenSSH for Windows from GitHub and install it manually (https://github.com/PowerShell/Win32-OpenSSH/releases). We need a version for Windows x64: OpenSSH-Win64.zip (4,15 MB).

  1. Extract the archive to the target folder: C:OpenSSH-Win;
  2. Open an elevated PowerShell prompt and switch to the OpenSSH folder: Cd C:OpenSSH-Win
  3. Add the path to the OpenSSH directory to the Path environment variable (System Properties -> Advanced tab -> Environment Variables -> Select and edit the Path system variable -> Add the path to the OpenSSH folder); add openssh folder to the system variable path
  4. Install the OpenSSH server: .install-sshd.ps1 (a green message should appear “sshd and ssh-agent services successfully installed”);

    If running PowerShell scripts on your computer is blocked by your PowerShell Execution Policy, you can run the script with this command: powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

    install openssh (sshd service) with powershell script

How to Configure SFTP Server on Windows Using OpenSSH?

Now you need to configure OpenSSH on Windows for SFTP mode.

Enable autostart for the SSHD service and start it using the following PowerShell service management commands:
Set-Service -Name sshd -StartupType 'Automatic'
Start-Service sshd

Use the PowerShell to open TCP port 22 in the Windows Firewall for incoming SSH traffic:

 New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSHNew-NetFirewallRule - add incoming rule port 22

Note. The previous command won’t work in old desktop Windows versions. In this case, another command is used: netsh advfirewall firewall add rule name='SSH Port' dir=in action=allow protocol=TCP localport=22

Open the SSHD configuration file (C:ProgramDataSSHsshd_config) in any text editor.  Find and check the value of the Subsystem sftp directive. The sftp-server.exe file should be specified here.openssh sshd_config file in windows

You can additionally configure the following parameters in the sshd_config configuration file:

# only allow users in this domain group to connect to OpenSSH
AllowGroups corpsftp_users
# enable password authentication (SSH keys cannot be used)
AuthenticationMethods password
#default (chrooot) directory for SFTP users  (by default, the user connects to the directory with his profile in the C:usersusername folder)
ChrootDirectory C:SFTP
ForceCommand internal-sftp
#You can set an individual chrootdirectory for each user:
Match User abrown
ChrootDirectory c:SFTPabrown
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

Match User jsmith
ChrootDirectory c:SFTPjsmith
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

Connecting to SFTP Server Using WinSCP or PowerShell

Now you can connect to your Windows SSH server using the SFTP protocol. Next, we’ll show you how to connect to an SFTP server using the free WinSCP client, the PowerShell console, and the built-in sftp.exe tool.

In the connection configuration window, select the SFTP as the file transfer protocol, specify the server name and the credentials of the Windows account (use the user@domain format for domain users), which is used for connection (it is also possible to configure public key authentication).

WinSCP test sftp connection

When you try to connect for the first time, the following notification of the host key not found in the local cache appears.

rsa2 key warning

If everything is configured correctly, a client should connect to the SFTP server and display the list of files in the user’s home chroot directory (by default, it is the user’s profile directory).

Using the familiar file manager interface (like Total Commander), you can copy files between the server and the client using the secure SFTP protocol.

connect openssh on windows server using winscp

You can use the Posh-SSH module to connect to an SFTP server from PowerShell. You can download and install the module from the PowerShell Gallery or offline:

Install-Module -Name Posh-SSH

install posh-ssh module in windows

To connect to the SFTP server using a password, you need to get the username and password via Get-Credential:

$usrCreds= Get-Credential

Now you can connect to your SFTP server:

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

Now you can list the files in the remote directory on the SFTP server. In this example, I will get a list of files on the user’s Desktop (the user’s profile will be the root user folder/chroot in this case)

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

powershell: list files in sftp folder

Download a file from a remote SFTP server:
Get-SFTPItem -SessionId $SFTPSession.SessionId -Path "desktop/OpenVPNScript.log" -Destination c:PS

To upload a file from your computer to a remote SFTP host:

Set-SFTPItem -SessionId $SFTPSession.SessionId -Path C:PSmytestfile.log -Destination "desktop"

upload files to sftp with powershell

Close the SFTP session:

Remove-SFTPSession -SFTPSession $SFTPSession

On Windows, you can use the built-in sftp.exe console command (installed with the OpenSSH client) to connect to an SFTP server.

sftp.exe tool in windows

Connect to sftp server:

sftp user1@192.168.3.20

Connect using ssh private key:

sftp -i .ssh/id_rsa user1@192.168.3.20

List files in a remote directory:

pwd

Download the file from SFTP to a local directory on your computer:

get download_this_file_from_sftp.txt

Upload a file from your computer to an SFTP server:

put file_to_uplodad.txt

Close session:

exit

Configuring SFTP Public Key Authentication

You can enable SFTP key-based authentication in Windows. In this case, you can authenticate to the SFTP server without entering a password.

  1. Create SSH keys on your computer (SFTP client) for the user under which you will connect to the server: ssh-keygen -t ed25519 generate ssh keys for sftp connections
  2. The ssh-keygen tool will generate two files id_ed25519 (private key for the client computer) and id_ed25519.pub (public key for the SFTP server);
  3. Now you need to add your SSH key to the Windows server (SFTP host). Copy the file id_ed25519.pub (or id_rsa.pub depending on the key type) to the .ssh directory of the user profile under which you will connect to the SFTP. Rename the file to authorized_keys (for example, the following key file is used for the user max1: C:Usersmax1.sshauthorized_keys )

Now you can use the id_ed25519 file to authenticate on the SFTP server. You can set your key in the WinSCP settings (Advanced -> to SSH connection settings > Authentication page -> Private key file).

If you want to use an SSH key when connecting to SFTP from PowerShell, use the following command:

New-SFTPSession -ComputerName 192.168.3.20 -Credential remoteuser1 -KeyFile C:Usersmax1.sshid_ed25519" -Verbose

If you need an SFTP server, you can set it up easily on a Linux box since it’s supported out of the box. But if you’d like to set up one on Windows, you need to do some extra work since SFTP is not natively supported on Windows. Don’t get confused it with the FTPS, short for FTP over SSL, which is supported out of the box with IIS on Windows Servers.

Steps to set up a SFTP/SSH server using OpenSSH on Windows Server 2012 R2

1. Download the latest OpenSSH for Windows binaries. Choose the OpenSSH-Win64.zip package.

2. Extract the package and save them to C:Program FilesOpenSSH folder.

3. Open an elevated PowerShell console, and run the following commands to install SSHD and ssh-agent services.

cd "Program FilesOpenSSH"
.install-sshd.ps1

If failed due to the Policy that prevents it from executing, run this instead:

powershell -ExecutionPolicy Bypass -File .install-sshd.ps1

Server 2012 Install OpenSSH 600x88 - Setting Up SFTP or SSH Server on Windows Server 2012 R2

4. In the same PowerShell console, run the following commands to generate server keys and restrict an access to them.

.ssh-keygen.exe -A
PowerShell -ExecutionPolicy Bypass -File .FixHostFilePermissions.ps1 -Confirm:$false

5. Open an incoming port in Windows Firewall for the SSH server. You can either run the following PowerShell cmdlet to open it or do it through Windows Firewall set up from Control Panel.

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

PowerShell open ssh port 600x223 - Setting Up SFTP or SSH Server on Windows Server 2012 R2

6. Open services window, locate the sshd service and click Start to start the service. If succeed, you are all set. And you need to change the Startup Type to Automatical so the service can be launched automatically.

Server 2012 sshd service 600x239 - Setting Up SFTP or SSH Server on Windows Server 2012 R2

Testing the connection to the server

You can use any tools that support SSH to connect to the SSH server you just set up, such as FileZilla, WinSCP, PuTTY to name a few. Take WinSCP for example, use the server’s name as Host name, leave the Port number at 22, and type in your Windows user account info as the username and password. If it’s part of the Windows domain, use the format of domain_nameusername or [email protected] instead.

WinSCP connection screen 600x405 - Setting Up SFTP or SSH Server on Windows Server 2012 R2

In some cases where you need to verify the fingerprint of the server, this is how you can find out:

.ssh-keygen.exe -l -f ssh_host_ed25519_key -E md5

then, when you connect to the SSH server the first time, you can compare the info you just collected with the one popping on the screen.

WinSCP SSH Warning - Setting Up SFTP or SSH Server on Windows Server 2012 R2

Alternative options

I had to try a few times to make OpenSSH work for me. But if it doesn’t work out for you, there are a few other options you can try to use as well.

  • CoreFTP
  • BitVise SSH Server
  • freeSSHd and freeFTPd

Resources

Installation Guide on WinSCP

Profile picture for user Олег

SSH

Если вам понадобился SFTP/SSH сервер на Windows Server 2012 R2, то вы попали по адресу. Установим, запустим, настроим и протестируем OpenSSH Server в Windows Server 2012 R2.

Установка OpenSSH в Windows Server 2012 R2

Скачиваем последнюю версию дистрибутива OpenSSH:

https://github.com/PowerShell/Win32-OpenSSH/releases

ssh

Сейчас доступна версия v8.0.0.0p1-Beta. Скачиваю OpenSSH-Win64.zip.

ssh

Создаю директорию C:Program FilesOpenSSH, распаковываю в неё содержимое архива.

ssh

Запускаю powershell от имени администратора.

ssh

Выполняю скрипт установки:

cd "Program FilesOpenSSH"
.install-sshd.ps1

sshd and ssh-agent services successfully installed

ssh

Если произошла ошибка политики безопасности, то можно выполнить установку так:

powershell -ExecutionPolicy Bypass -File .install-sshd.ps1

Генерирую ключи:

.ssh-keygen.exe -A

В результате вижу ошибку:

ssh

Исправляется легко, захожу в папку C:ProgramData и создаю вручную директорию «ssh».

ssh

Снова пытаюсь сгенерировать ключи:

.ssh-keygen.exe -A

На этот раз процедура выполняется успешно.

ssh

Настраиваю владельца файлов и права доступа:

PowerShell -ExecutionPolicy Bypass -File .FixHostFilePermissions.ps1

На каждый вопрос отвечаю «A».

ssh

Открыть 22 порт

OpenSSH работает по порту TCP 22. Открою доступ в Firewall:

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

ssh

То же самое можно сделать через GUI в оснастке Windows Firewall with Advanced Security.

ssh

Запуск службы OpenSSH

Открываю список служб:

services.msc

ssh

Нахожу службу «OpenSSH SSH Server». В свойствах службы делаю автоматический запуск и запускаю её.

ssh

Проверим что 22 порт работает:

netstat -tan | find "22"

ssh

22 порт слушается.

Проверка OpenSSH

Проверю с помощью WinSCP. Для доменного пользователя используется логин вида domainusername.

ssh

При первом входе появится окно:

ssh

Yes.

ssh

Всё работает.

Настройка доступа

Конфигурационный файл находится здесь: C:ProgramDatasshsshd_config.

ssh

Собственно, OpenSSH конфигурируется здесь. Например, чтобы разрешить доступ по OpenSSH определённой группе пользователей, допишу в конец файла:

DenyUsers *
AllowGroups my_domainmy_group_for_ssh_access

В этой статье мы покажем, как использовать Win32-OpenSSH для запуска SFTP-сервера в Windows 10 или Windows Server 2016 / 2012R2.

Что такое SFTP?

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

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

  1. Файлы и команды передаются в безопасном сеансе SSH;
  2. Одно соединение используется для отправки файлов и команд;
  3. Поддерживаются символические ссылки, передача прерываний / возобновлений, функции удаления файлов и т. Д .;
  4. Как правило, в каналах, где FTP работает медленно или не работает, SFTP-соединение работает быстрее и надежнее;
  5. Возможность аутентификации с использованием ключей SSH.

Не путайте протоколы SFTP и FTPS. По сути, FTPS — это простой FTP с сертификатом SSL, а SFTP — это протокол для отправки данных и команд FTP внутри сеанса SSH.

Реализация SFTP в Windows

Исторически операционные системы Windows не предоставляют никаких встроенных инструментов для запуска защищенного SFTP-сервера. Для этих целей использовались открытые или проприетарные решения, такие как Core FTP, FileZilla, CYGWIN, OpenSSH, FTP Shell, IPSwitch и т. Д. Однако несколько лет назад Microsoft выпустила свою версию порта OpenSSH для Win32. Этот проект называется Win32-OpenSSH .

Рассмотрим конфигурацию SFTP-сервера под управлением Windows 10 или Windows Server 2019/2016/2012 R2 с использованием пакета Win32 OpenSSH .

Установка Win32 OpenSSH на Windows 10 1803+ / Windows Server 2019

В Windows 10 build 1803 и новее, а также в Windows Server 2019 пакет OpenSSH уже включен в операционную систему в форме Feature on Demand (FoD), такой как RSAT .

Вы можете установить сервер OpenSSH в Windows 10 и Windows Server 2019, используя следующий командлет PowerShell:

Add-WindowsCapability -Online -Name OpenSSH.Server*

Или используя DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0

Также вы можете добавить OpenSSH сервер из Windows 10 GUI ( Настройки -> Приложения -> Дополнительные функции -> Добавить функцию -> Открыть SSH Server -> Установить ).

1-install-opensshserver-feature-on-windows-10 Установка SFTP (SSH FTP) сервера в Windows с помощью OpenSSH

  • Исполняемые файлы OpenSSH находятся в каталоге c:windowssystem32OpenSSH:;
  • Sshd_config файл конфигурации находится в каталоге: C:ProgramDatassh(этот каталог создается после первого запуска службы Sshd);
  • Лог — файл: c:windowssystem32OpenSSHlogssshd.log;
  • Файл и ключи authorized_keys хранятся в директории: %USERPROFILE%.ssh.

Установите Win32 OpenSSH на Windows Server 2016/2012 R2

В предыдущих версиях Windows 10 и Windows Server 2016/2012 R2 необходимо загрузить и установить OpenSSH с GitHub. Вам необходимо скачать версию пакета для Windows x64: OpenSSH-Win64.zip (3,5 МБ).

  • Распакуйте архив в целевой каталог: C: OpenSSH-Win;
  • Запустите привилегированный клиент PowerShell и перейдите в папку OpenSSH: Cd C:OpenSSH-Win
  • Добавьте путь к каталогу OpenSSH в переменную среды Path (Свойства системы -> вкладка «Дополнительно» -> Переменные среды -> Выберите и измените системную переменную Path -> Добавить путь к папке OpenSSH);

2-openssh-folder-in-path-system-variable Установка SFTP (SSH FTP) сервера в Windows с помощью OpenSSH

  • Установите сервер OpenSSH: .install-sshd.ps1(должно появиться зеленое сообщение « Службы sshd и ssh-agent успешно установлены »);

3-install-sshd-powershell-script-in-openssh Установка SFTP (SSH FTP) сервера в Windows с помощью OpenSSH

  • Сгенерируйте ключи SSH для сервера (необходим для запуска службы sshd):
    ssh-keygen.exe –Assh-keygen: generating new host keys: RSA DSA ECDSA ED25519

4-generate-ssh-key-ssh-keygen.exe_ Установка SFTP (SSH FTP) сервера в Windows с помощью OpenSSH

  • Включите автозапуск для службы SSHD и запустите его, используя следующие команды управления службой PowerShell:
    Set-Service -Name sshd -StartupType ‘Automatic’
    Start-Service sshd
  • Перезагрузите компьютер:
    Restart-Computer
  • Используйте PowerShell, чтобы открыть TCP-порт 22 в брандмауэре Windows для входящего трафика SSH: New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH

5-new-netfirewallrule-port-22-600x208-1 Установка SFTP (SSH FTP) сервера в Windows с помощью OpenSSH

Примечание . Предыдущая команда не будет работать в старых версиях Windows для настольных компьютеров. В этом случае используется другая команда: netsh advfirewall firewall add rule name='SSH Port' dir=in action=allow protocol=TCP localport=22

  • Откройте файл конфигурации SSHD (C: ProgramData SSH sshd_config) в любом текстовом редакторе. Найдите и проверьте значение директивы Subsystem sftp . SFTP-server.exe файл должен быть указан здесь.

6-openssh-sshd-config-file Установка SFTP (SSH FTP) сервера в Windows с помощью OpenSSH

Вы можете дополнительно настроить следующие параметры в файле конфигурации sshd_config:

AllowGroups corpsftp_users # разрешить подключение к OpenSSH только пользователям этой доменной группы

AuthenticationMethods password # включить аутентификацию по паролю (ключи SSH не могут быть использованы)
ForceCommand internal-sftp
ChrootDirectory C:inetpubwwwrootftpfolder #каталог по умолчанию для пользователей SFTP

Тестирование SFTP-соединения с использованием WinSCP

Попробуем подключиться к созданному SSH-серверу по протоколу SFTP. Для этого используйте бесплатный клиент WinSCP .

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

7-winscp-test-sftp-server-600x402-1 Установка SFTP (SSH FTP) сервера в Windows с помощью OpenSSH

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

8-rsa2-key-warning Установка SFTP (SSH FTP) сервера в Windows с помощью OpenSSH

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

Используя знакомый интерфейс файлового менеджера ( например, Total Commander ), вы можете копировать файлы между сервером и клиентом. Файлы передаются с использованием безопасного SFTP.

9-connect-openssh-on-windows-using-winscp-1024x695-1 Установка SFTP (SSH FTP) сервера в Windows с помощью OpenSSH

Как удалить Win32 OpenSSH?

Чтобы правильно удалить Win32 OpenSSH из вашей системы:

  1. Запустите сеанс PowerShell с повышенными правами;
  2. Остановите службу SSHD:
    Stop-Service sshd
  3. Удалите службу sshd: .uninstall-sshlsa.ps1

    <span>sshd успешно удален</span><span>

    sshagent успешно удален</span>

RRS feed

  • Remove From My Forums
  • Вопрос

  • Hello Folks, 

    Just a quick question, how could we install SFTP on windows 2012 server ? would it be possible to install Secure FTP without any 3rd party application ?

    Thanks & regards


    Ali

Все ответы

  • Windows doesnt include SFTP support natively in IIS.

    Its either FTP over SSL or a 3rd party solution (like https://winscp.net/eng/docs/guide_windows_openssh_server ).

    • Предложено в качестве ответа

      8 января 2017 г. 19:59

  • As FZP already mentioned: SFTP is not supported by MS. Instead, MS supports FTPS. You need to install third party solutions  like OpenSSH Server on Windows or SFTP Server.


    • Предложено в качестве ответа
      John Lii
      7 февраля 2017 г. 2:58

  • Hi Reyan,

    Just want to confirm the current situations.

    Please feel free to let us know if you need further assistance.

    Best Regards

    John


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact
    tnmff@microsoft.com.

    • Изменено
      Babak Ramak
      20 августа 2017 г. 7:58
  • Hi,

    We have installed SFTP server as per https://winscp.net/eng/docs/guide_windows_openssh_server.

    Now we could able to connect WinSCP and Filezilla.

    But Default FTP file path is C:Users/useraccount opened on filezilla.

    We have some FTP users.

    But we needs to be change  and edit default FTP path for each user account.

    Please help and guide me.

    Thanks.

  • Hi,

    To redirect default home pages in your sshd installation folder:

    copy sshd_config_default to sshd_config

    Change the sftp-system subsystem entry to append the bold:

    # override default of no subsystems
    Subsystem sftp
    sftp-server.exe -d «C:myFTPHomes%u»

    The %u will be expanded to the authenticated username

    Kind regards

Ниже мы детально рассмотрим рекомендации про серверную настройку, работу брендмауэра, способы подключения и протокол Secure (SFTP) на ОС Win Server2012.

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

Мы расскажем об инсталляции FTP на любой из серверов IIS. Также для работы допускается использование других программ, в том числе: FileZilla, Home, Titan или Ocean FTP Server.

Процесс установки

Для начала нужно зайти в «Пуск» и войти в «Диспетчер серверов», в нем необходимо выбрать добавление роли (пункт два).

FTPFTP

Затем зайти на вкладку «Тип установки» и кликнуть на первую категорию.

В рамке с пулами появится список серверов, надо кликнуть по нужному и щелкнуть «Далее».

FTP

В подменю серверных ролей нужно поставить галочку для сервера IIS. После этого графа развернется и представит новые настройки: здесь потребуется кликнуть на FTP. Внимание: иные версии перенесли строку «FTP-сервер» на другие вкладки.

FTP

Затем потребуется нажать и одобрить установку.

FTP

Раскройте диспетчер IIS и слева в подменю есть папка «Сайты». Если кликнуть по ней правой кнопкой мышки, всплывет подсказка. В ней следует щелкнуть на «Добавить FTP».

FTP

Следующий шаг: потребуется ввести имя нужного сайта и его полный путь к каталогу хранения.

FTP

В окне появится запрос на выбор айпи-адреса. Нужно проверить, чтобы введенный айпишник был одинаковым с тем, что значится в панели управления. Желательно выбрать еще функцию автоматического запуска, расположенной ниже, и в ней «Без SSL».

FTP

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

FTP

О настройках брендмауэра

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

FTP

В «Мастер создания» выбирается предопределенный тип правил, ему указывается правило FTP из выпадающего подменю.

FTP

В подменю предопределенных правил рекомендуем поставить галочки во всех строках.

FTP

В подменю «Действие» необходимо разрешить подключения (первая строка). Настройка закончилась, она войдет в работу как только перезагрузится сервер.

FTP

О подключениях к FTP

Провести подключение возможно посредством базовой виндовской программы («Проводника») либо при помощи специальных программ, например, FileZilla.

Подключаясь по методу «Проводник», в адресную строчку вводится:

ftp://ip-адрес

К примеру, ftp://177.118.25.63

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

FTP

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

В случае удачно проведенных действий откроется окно с папками, расположенными на сервере.

FTP

Внимание: встроенные сервера имеют богатые возможности. В том числе позволяют вести журнал, изолировать юзеров, поддерживать SSL, ограничивать число попыток входа.

Как настроить Secure (SFTP)

подразделяются на два типа: заверенные официальной комиссией и самоподписанные. Первый тип считается безопасным, так как за надежность заверяется центром, отвечающим за сертификацию.

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

Начать работу с самозаверенным сертификатом просто:

1. Нужно зайти в окно диспетчера IIS и выбрать параметр «Сертификаты».

2. В правой подменю необходимо выбрать создание самоподписанного типа.

3. Ввести его название.

Чтобы настроить SFTP потребуется вернуться к начальной странице (кликнуть по FTP в левом подменю) и открыть параметры, как на скриншоте.

FTP

Открывшееся окно предложить сделать выбор политики – укажите второй вариант с требованиями SSL-соединений.

FTP

Чтобы произвести подключения по защищенному каналу, понадобится программа WinSCP:

• Протоколом должен выступить FTP;

• В качестве шифрования из выпадающего меню выбирается «Явное»;

• Именем хосту будет служить айпи или доен;

• Если не было настроек других портов, нужно выбирать 21-й;

• Последними указываются логин и пароль.

FTP

После входа появится все, что содержит FTP-каталог.

191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

700
300

ООО «ИТГЛОБАЛКОМ ЛАБС»

191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

700
300

ООО «ИТГЛОБАЛКОМ ЛАБС»

19 лучших бесплатных серверов SFTP и FTPS для Windows и Linux

протокол передачи файлов (FTP) является одним из оригинальных интернет-протоколов, используемых для передачи больших файлов. FTP с дополнительной защитой, такой как в SFTP и FTPS, по-прежнему остается одним из лучших инструментов для передачи файлов. Но чтобы его использовать, вам нужно настроить SFTP-сервер..

Ниже мы рассмотрим каждый из 19 лучших инструментов, но если вам не хватает времени, вот наши Список 10 лучших бесплатных серверов SFTP и FTPS:

  1. Сервер SFW / SCP SolarWinds (БЕСПЛАТНЫЙ ИНСТРУМЕНТ) Утилита для безопасной передачи файлов для Windows от лидера в отрасли инструментов управления сетью.
  2. Filezilla FTPS Отличный безопасный бесплатный FTP-сервер, который работает под Windows, но может получать файлы из любой операционной системы.
  3. IIS FTPS сервер Безопасный FTP-сервер на базе Windows, который интегрирован в Windows Server и защищает передачу файлов с помощью шифрования..
  4. Бесплатный FTP Утилита Slimline для Windows, которая обеспечивает безопасную передачу файлов в качестве специального инструмента или в качестве системной службы.
  5. SFTP-сервер Syncplify.me Это платная безопасная утилита FTP, которая работает в Windows. Вы можете бесплатно запустить некоммерческую ознакомительную версию..
  6. Rebex Tiny SFTP-сервер — Безопасная система передачи файлов, которая может быть интегрирована в ваше собственное программное обеспечение через библиотеки .NET.
  7. CrushFTP Простая, но привлекательная FTP-утилита для Windows; сервер бесплатен для 30-дневной пробной версии, а клиент — навсегда.
  8. Угловой MFT сервер Управляемая передача файлов (MFT) — это платная защищенная система передачи файлов, работающая в Windows и бесплатная для 30-дневной пробной версии..
  9. SFTP-сервер Globalscape Ряд параметров безопасной передачи файлов под общим термином «Расширенная передача файлов», доступ к которым можно получить в облаке или установить в Windows. Это платные инструменты, которые могут быть опробованы на бесплатных испытаниях.
  10. FTP-сервер Titan Эта утилита FTP включает в себя FTPS и SFTP для защищенной передачи файлов и работает в Windows Server 2008 и Windows Server 2012. Это платная услуга, но вы можете получить 20-дневную бесплатную пробную версию..

Contents

  • 1 В чем разница: FTP против FTPS против SFTP против SCP
    • 1.1 Протокол передачи файлов (FTP)
    • 1.2 Безопасный протокол передачи файлов (FTPS)
    • 1.3 Протокол безопасной передачи файлов (SFTP)
    • 1.4 Безопасное копирование (SCP)
  • 2 Клиент или Сервер?
  • 3 SCP против SFTP: Соображения
  • 4 Полнофункциональные бесплатные SFTP и FTPS серверы:
    • 4.1 1. SFW / SCP-сервер SolarWinds (БЕСПЛАТНЫЙ ИНСТРУМЕНТ)
    • 4.2 ВЫБОР РЕДАКТОРА
    • 4.3 2. FileZilla FTPS
    • 4.4 3. Сервер IIS FTPS
    • 4.5 4. FreeFTP
    • 4.6 5. Syncplify.me SFTP-сервер
    • 4.7 6. Rebex Tiny SFTP-сервер
    • 4.8 7. CrushFTP
    • 4.9 8. Cornerstone MFT сервер
    • 4.10 9. SFTP-сервер Globalscape
    • 4.11 10. Титан FTP сервер
  • 5 Автономные бесплатные серверы SFTP и FTPS (установка не требуется)
    • 5.1 11. Syncplify.me Micro SFTP-сервер
    • 5.2 12. Xlight FTP сервер
    • 5.3 13. Core Mini SFTP-сервер
  • 6 Лучшие бесплатные SFTP и FTPS серверы для Linux
    • 6.1 Использование OpenSSH
    • 6.2 14. MySecureShell
    • 6.3 15. vsftp
    • 6.4 16. ProFTPd настроен на использование SFTP
    • 6.5 17. PureFTPD
  • 7 Лучшие бесплатные SFTP и FTPS серверы для Windows
    • 7.1 18. Paessler FTP Мониторинг с PRTG (БЕСПЛАТНАЯ ПРОБНАЯ ВЕРСИЯ)
  • 8 Лучшие бесплатные SFTP и FTPS серверы для Windows и Linux
    • 8.1 19. VandDyke VShell

В чем разница: FTP против FTPS против SFTP против SCP

Все эти термины меняются на одну букву, но эта буква важна.

Протокол передачи файлов (FTP)

19 лучших бесплатных серверов SFTP и FTPS для Windows и Linux

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

Безопасный протокол передачи файлов (FTPS)

Диаграмма FTPS

(также известен как FTPES): Это безопасный FTP, где S, в данном случае, представляет Безопасность транспортного уровня (TLS) шифрование. По сути, это базовый FTP-сервер, который знает, как согласовать зашифрованный туннель TLS для передачи данных через.

Протокол безопасной передачи файлов (SFTP)

Диаграмма SFTP

Это также безопасный FTP, но в этом случае S представляет Безопасная оболочка (SSH). Это на самом деле не FTP-сервер. Скорее, это сервер SSH, который понимает команды FTP. Регистрационная информация и файлы передаются в зашифрованном виде через SSH. Чтобы сделать вещи еще более запутанными, первоначальная цель аббревиатуры SFTP была простой протокол передачи файлов, определенный в RFC 913, но был переведен в статус «Исторический» и больше не используется.

Безопасное копирование (SCP)

Диаграмма SCP

Это не протокол FTP, но он широко используется для безопасной передачи файлов, поэтому стоит упомянуть здесь. SCP — это очень простая копия файла с одного компьютера на другой с использованием протокола SSH. Протоколы FTP обладают широкими возможностями управления файлами, которых нет у SCP..

Клиент или Сервер?

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

SCP против SFTP: Соображения

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

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

безопасный перевод на удаленный хост несет меньший риск, если это выполняется с SCP потому что в этот протокол не включен командный язык. SFTP больше подходит для использования системным администратором при выполнении интерактивных ручных задач и переноса на удаленный компьютер.

Смотрите также: Лучшие бесплатные серверы SCP и лучшие бесплатные серверы TFTP

1. SFW / SCP-сервер SolarWinds (БЕСПЛАТНЫЙ ИНСТРУМЕНТ)

Выбор редактора: SolarWinds — это полный набор ИТ-инструментов. Комплекты корпоративного уровня не были бы полными без защищенного FTP-сервера, и SolarWinds включает в себя бесплатный и мощный сервер SFTP и SCP как часть своего предложения.

Загрузочный сервер SolarWinds SFTP / SCP представляет собой ZIP-файл, который извлекается в установщик MSI. После завершения установки его настройка так же проста, как запуск программы и указание нескольких параметров в пользовательском интерфейсе, таких как разрешенные протоколы и допустимые параметры передачи..

Существует также встроенный сервер SCP, который имеет смысл, поскольку и SFTP, и SCP используют SSH для выполнения своих задач. Вы можете настроить SFTP-сервер SolarWinds так, чтобы он также разрешал SCP, выбрав «Оба» протокола.

Solarwinds-SFTP-варианты

На вкладке «Пользователи» можно создавать учетные записи пользователей и указывать такие сведения, как используемый сетевой интерфейс..

Установка проста, и SolarWinds поддерживает как SFTP, так и SCP. Благодаря поддержке одновременной передачи и возможности авторизации только определенных IP-адресов, он предлагает мощные функции бесплатно.

ВЫБОР РЕДАКТОРА

Установка проста, и SolarWinds поддерживает как SFTP, так и SCP. Благодаря поддержке одновременной передачи и возможности авторизации только определенных IP-адресов, он предлагает мощные функции бесплатно.

Скачать: БЕСПЛАТНО скачать на SolarWinds.com

Официальный сайт: www.solarwinds.com/free-tools/free-sftp-server/

ОПЕРАЦИОННЫЕ СИСТЕМЫ: Windows

2. FileZilla FTPS

FileZilla — это хорошо известный бесплатный FTP-сервер и клиентский пакет. Сам сервер работает только в Windows, но поскольку клиенты Filezilla есть практически для всех возможных операционных систем, это хороший выбор. Не требуется использовать клиент FileZilla для подключения к FTP-серверу FileZilla, но оптимизация продуктов может помочь с проблемами поддержки. Сервер FileZilla имеет быстрый пользовательский интерфейс и поддерживает FTPS, но не SFTP. Клиент поддерживает оба. Разница между реализациями FTP и FTPS заключается в добавлении аутентификации TLS и защиты передачи с использованием шифрования с открытым ключом..

FileZilla-сервер-окно

3. Сервер IIS FTPS

Часто пропускаемый FTPS-сервер доступен прямо в Windows Server. Если вы уже используете Internet Information Services (IIS), вы можете добавить роль FTP-сервера, затем создать сертификаты TLS и получить полнофункциональный FTPS-сервер, работающий рядом с вашим IIS-сервером..

IIS -enable-ftp

4. FreeFTP

Основанный на FreeSSH, FreeFTP является полнофункциональным SFTP-сервером для Windows. Он поддерживает все разновидности FTP, включая SFTP и FTPS. Как следует из названия, он бесплатный и поддерживает создание произвольных пользователей, что делает его идеальным для быстрой настройки SFTP в сети Windows..

Во время установки вы можете выбрать запуск FreeSFTP по мере необходимости или установить его как системную службу. Последнее означает, что он будет работать все время и будет доступен для ваших пользователей SFTP.

freeftp

Убедитесь, что вы загрузили последнюю версию (более 1.0.11). В версии 1.0.11 была обнаружена уязвимость, которая была исправлена ​​в версии 1.0.12, а текущая версия — 1.0.13..

5. Syncplify.me SFTP-сервер

SFTP-сервер syncplify.me

Syncplify — это расширяемые SFTP-серверы, которые могут запускать пользовательские сценарии. Если вы обнаружите, что вам нужно перепрыгнуть через обручи, чтобы встроить свой SFTP-сервер в свой уникальный рабочий процесс, Syncplify может стать инструментом, который вы ищете.

Бесплатная пробная версия имеет все функции Ultimate, но она поддерживает только одно соединение и не лицензирована для использования в производстве. Другие преимущества обновления до платной версии сервера SFTP включают соображения безопасности. Вы можете использовать шифрование с открытым ключом RSA с бесплатной версией, но платная версия инструмента включает в себя множество других вариантов аутентификации и шифрования..

6. Rebex Tiny SFTP-сервер

SFTP-сервер syncplify.me

SFTP-сервер Rebex Tiny является бесплатным для любого использования, включая коммерческое использование. Он работает на Windows XP до Windows 7, а также поддерживает выпуски Windows Server 2002, 2008 и 2012. Это ограничено одним пользователем, но поставляется с множеством функций. Он не требует настройки и содержит полные возможности ведения журнала, а также поддержку входа с открытым / закрытым ключом вместо паролей..

Стоит также отметить, что Rebex предоставляет полные библиотеки .NET, позволяющие разработчикам включать SFTP-код в свои собственные приложения. Библиотеки не являются бесплатными, но стоит посмотреть, если вы являетесь разработчиком .NET с таким проектом под рукой.

7. CrushFTP

crushftp

CrushFTP — это FTP-сервер на базе Windows, который использует сжатие, отсюда и название «Crush». Он сжимает передаваемые файлы и передает сжатые данные по сети, значительно сокращая время передачи для многих типов файлов..

CrushFTP также имеет некоторые встроенные меры безопасности, включая процедуры аутентификации пользователей, которые обращаются к Active Directory на вашем хосте. Он может защищать от атак методом «грубой силы» путем автоматического запрета атакующих IP-адресов, а надежное управление пользователями включает виртуальные файловые системы и наследование разрешений. Сервер CrushFTP имеет 30-дневную пробную версию, и клиент всегда свободен.

8. Cornerstone MFT сервер

CornerstoneMFT

Cornerstone MFT (управляемая передача файлов) — это SFTP-сервер, отвечающий корпоративным требованиям. MFT — это общий термин, который указывает на более высокий уровень контроля и аудита, чем обычно обеспечивают обычные специальные отношения клиент / сервер FTP. Появление MFT было направлено на удовлетворение потребности в прозрачных входах в систему, более высокой безопасности во время передачи и большей наглядности в процессе передачи файлов, успехах или неудачах..

Cornerstone предлагает PGP-шифрованное удаленное хранилище файлов. Данные могут быть зашифрованы на лету, поэтому никогда не будет точки, где незашифрованные данные ожидают на диске для шифрования. Кроме того, Cornerstone предоставляет механизмы защиты периметра, такие как двухфакторная аутентификация..

Вы можете попробовать Cornerstong MFT с 30-дневной пробной версией, чтобы убедиться, что она соответствует вашим потребностям..

9. SFTP-сервер Globalscape

Globalscape придумал фразу «Усовершенствованная передача файлов» (EFT) для обозначения своего продукта «Управляемая передача файлов» (MFT)..

EFT-сервер Globalscape может быть развернут в конфигурации высокой доступности (HA), включая балансировку нагрузки и конфигурации кластера. Кроме того, Globalscape предлагает как локальные, так и облачные продукты, так что вы можете выбрать лучшее решение EFT для вашей ситуации..

Существует 30-дневная бесплатная пробная версия для предприятий и малого и среднего бизнеса. Хотя есть и бесплатная пробная версия для облачной версии, не ясно, как долго.

10. Титан FTP сервер

TitanFTP

FTP-сервер Titan поддерживает обычный FTP, а также FTPS и SFTP. Он соответствует требованиям HIPAA, что делает его идеальным для использования в больницах и государственных учреждениях по всему миру. Он работает на Windows Server 2008 и Windows Server 2012.

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

Управление учетными записями может быть привязано к проверке подлинности Windows NT / SAM в версии Enterprise, и в него включено подробное управление учетными записями, например автоматическое истечение срока действия учетной записи..

Titan предлагает 20-дневную пробную версию своего FTP-сервера.

Автономные бесплатные серверы SFTP и FTPS (установка не требуется)

11. Syncplify.me Micro SFTP-сервер

syncplify.me-MicroServer

В дополнение к бесплатной пробной версии Syncplify также предлагает сервер Micro SFTP для Windows. Это полностью автономный портативный SFTP-сервер, который можно запустить с USB-накопителя. В отличие от бесплатной ознакомительной версии полноценного SFTP-сервера Syncplify, версия Micro-сервера полностью бесплатна для использования в любых ситуациях, включая производственное и коммерческое использование. Вам нужно будет перейти на платную услугу, если вы хотите удаленный доступ к каталогу файлов через SSH.

12. Xlight FTP сервер

Бесплатный FTP-сервер Xlight поставляется в различных версиях, включая портативную автономную версию, которая не требует установки. 32-разрядные и 64-разрядные версии будут работать на Windows 2000, XP, Vista, 7, 10, 2003 Server, 2008 Server и 2012 Server. Этот инструмент может получить доступ к вашей реализации Active Directory для проверки подлинности пользователя. Он даже имеет файлы локализации, которые позволят вашему защищенному FTP-серверу отображать текст на разных языках, или вы можете написать свой собственный языковой файл, если нужный вам язык еще не доступен.

19 лучших бесплатных серверов SFTP и FTPS для Windows и Linux

13. Core Mini SFTP-сервер

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

19 лучших бесплатных серверов SFTP и FTPS для Windows и Linux

Лучшие бесплатные SFTP и FTPS серверы для Linux

  1. MySecureShell
  2. vsftp
  3. ProFTPd
  4. PureFTPd
  5. VandDyke VShell

Поскольку SFTP работает по SSH, большинство систем Linux поставляются с готовым к работе SFTP. FTPS — это отдельная история, для которой требуется выделенный FTP-сервер, который поддерживает TLS, но когда SFTP так легко установить на хосте Linux, трудно найти веские причины для запуска FTPS..

Использование OpenSSH

В стандартной системе Linux большинство действительных пользователей смогут использовать любой SFTP-клиент для подключения к серверу и передачи файлов в и из своего домашнего каталога. Однако разрешение удаленного доступа пользователей обычно считается угрозой безопасности, поэтому многие системные администраторы запрещают такой доступ. Наиболее распространенные способы сделать это — запретить пользователям доступ к оболочке или заблокировать порт SFTP (22, такой же как SSH) для указанных IP-адресов..

Предполагая, что эти ограничения отсутствуют, любой SFTP-клиент, который может подключиться к порту 22 на SFTP-сервере, должен работать хорошо.

$ sftp [email protected]
[email protected] пароль:
Подключен к 172.81.178.34.
SFTP> PWD
Удаленный рабочий каталог: / home / test-sftp
SFTP>

14. MySecureShell

Недостатком простоты настройки SFTP в большинстве дистрибутивов Linux является то, что SSH просто готов к работе. Это подразумевает уровень доверия к вашим пользователям, который может не соответствовать реальности. Если у вас есть недоверенные или неизвестные пользователи SFTP, вы можете наложить ограничения на то, что они могут делать в системе. Есть много способов добиться этого, например, только запускать механизм SFTP, который запрещает регулярные входы в систему SSH, или вы можете использовать приложение, такое как MySecureShell, для выполнения тяжелой работы..

MySecureShell поддерживает списки контроля доступа, которые являются основой детального контроля доступа пользователей. Он включен во многие репозитории дистрибутивов, поэтому вы можете просто использовать менеджер пакетов для его установки:

$ sudo apt-get install mysecureshell
[sudo] пароль для jdw:
Чтение списков пакетов … Готово
Построение дерева зависимостей
Чтение информации о состоянии … Готово
Будут установлены следующие НОВЫЕ пакеты:
mysecureshell

После установки могут потребоваться некоторые базовые изменения в файле конфигурации приложения в / etc / ssh / sftp_config, и тогда вы будете в рабочем состоянии..

mysecureshell-конфигурации

15. vsftp

Vsftp — это бесплатный FTP-сервер для Unix-подобных систем, включая Linux. Он известен как очень быстрый, стабильный и потребляющий мало системных ресурсов. Обширный список функций включает поддержку виртуальных пользователей (не системных пользователей), возможность прослушивания на любом интерфейсе, настройку для каждого пользователя и ограничение или регулирование скорости, чтобы избежать атак или использования типа DOS..

Многие из наиболее известных дистрибутивов Linux используют vsftp в качестве FTP-сервера, что говорит о его безопасности и стабильности. Часть этой родословной может происходить из-за того, что сопровождающий приложения, Крис Эванс, сам имеет опыт обнаружения уязвимостей в безопасности..

Vsftp входит в большинство дистрибутивов Linux и может быть установлен через менеджер пакетов.

$ sudo apt-get install vsftpd
Чтение списков пакетов … Готово
Построение дерева зависимостей
Чтение информации о состоянии … Готово
Будут установлены следующие НОВЫЕ пакеты:
Vsftpd

Как и для большинства инструментов Linux, для настройки некоторых основных параметров конфигурации необходим быстрый просмотр файла /etc/vsftp.conf, и тогда ваш сервер vsftp готов к работе.

vsftp-конфигурации

16. ProFTPd настроен на использование SFTP

ProFTP был создан с нуля из-за необходимости вытеснять wu-ftp как широко используемый FTP-сервер. Wu-ftp стал громоздким из-за многолетних модификаций, сделанных необходимыми из-за ненадежности в приложении, и в конечном итоге стало более продуктивным просто создать новый клиент FTP с нуля.

ProFTP вдохновлен несколько после веб-сервера Apache. В основном это можно увидеть в формате файлов конфигурации и в том, что он использует модули для загрузки необходимой функциональности. В этом случае вы захотите использовать ProFTP с загруженным модулем mod_sftp для достижения функциональности SFTP..

ProFTPD основной-конфигурация-пример

Веб-сайт ProFTP предоставляет несколько примеров конфигураций, чтобы вы могли начать работу в правильном направлении..

FTP остается очень важной частью интернет-инструментария, несмотря на то, что ему по сути не хватает безопасности. Как и в протоколе HTTP протокол TLS был прикреплен к нему для обеспечения безопасности, чтобы сформировать то, что мы теперь называем HTTPS, в FTP были объединены и TLS, и SSH, чтобы обеспечить шифрование и безопасность. Есть несколько других инструментов, которые так легко позволяют передавать файлы произвольно большого размера. Многие организации будут продолжать использовать SFTP или FTPS в течение длительного времени.

17. PureFTPD

PureFTPD — это SFTP-сервер с открытым исходным кодом, который работает практически во всех версиях Unix-подобных операционных систем, включая Linux, BSD, Solaris и другие. Он поддерживается как проект с открытым исходным кодом, специально предназначенный для предоставления FTP-сервера, соответствующего стандартам. Интерфейсные сообщения переведены на различные языки, поэтому, если вы работаете с международной пользовательской базой, PureFTP может быть для вас.

Нет никаких ограничений с PureFTP; все функции доступны с самого начала. Среди его более полезных функций — возможность регулирования соединений с целью сохранения пропускной способности, запуска его в виртуальной файловой системе («chroot» на языке * nix), установки ограничений на загрузку / скачивание и многое другое..

Лучшие бесплатные SFTP и FTPS серверы для Windows

18. Paessler FTP Мониторинг с PRTG (БЕСПЛАТНАЯ ПРОБНАЯ ВЕРСИЯ)

Одна проблема со стандартным FTP и его безопасными производными состоит в том, что они не предоставляют много данных для анализа. Большинство стандартных программ FTP доступны в операционной системе бесплатно, но могут быть улучшены с помощью пакета мониторинга. Например, Paessler PRTG это общесистемный пакет мониторинга, который состоит из «датчиков», которые являются отдельными мониторами. Вы настраиваете услугу, выбирая, какие датчики включить.

19 лучших бесплатных серверов SFTP и FTPS для Windows и Linux

PRTG включает в себя датчики для FTP, SFTP и FTPS. Они обеспечивают безопасный контроль файловых серверов, предоставляя данные о производительности для удаленных серверов, а также тех, которые работают на том же сервере, на котором размещено программное обеспечение PRTG. PRTG работает на Windows Server. Однако датчики FTP могут контролировать FTP-серверы на серверах Linux. Когда датчик подключается к другому серверу, особенно когда этот сервер находится на другом сайте, он использует SSL или SSH для защиты соединений от перехватчиков.

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

19 лучших бесплатных серверов SFTP и FTPS для Windows и Linux

PRTG — это всего лишь один из инструментов системного мониторинга, который может контролировать FTP. Этот путь к управлению передачей файлов является альтернативой использованию программного пакета FTP-сервера, который включает в себя интегрированные отчеты о производительности. Если вы хотите поближе познакомиться с тем, как PRTG управляет серверами FTP, вы можете получить инструмент с неограниченным количеством датчиков на 30-дневная бесплатная пробная версия.

Paessler FTP Monitoring с PRTGDownload 30-дневная бесплатная пробная версия

Лучшие бесплатные SFTP и FTPS серверы для Windows и Linux

19. VandDyke VShell

VShell

VanDyke Software VSHell — это сервер SFTP и SCP корпоративного уровня для Windows и Unix. Он поддерживает SFTP, SCP и FTPS и включает очень детальный контроль доступа пользователей.

Версия для Windows может похвастаться простым в использовании графическим установщиком и может использовать различные методы аутентификации пользователей, такие как пары LDAP и открытый / закрытый ключи..

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

VShell поставляется с 30-дневной пробной версией.

Понравилась статья? Поделить с друзьями:
  • Sftp клиент windows 10 штатными средствами
  • Sfep driver acpi sny5001 windows 10
  • Sfc скачать для windows 10 x64
  • Sfc verifyonly защита ресурсов windows обнаружила нарушения целостности
  • Sharp ar 5318 драйвер windows 10