С помощью встроенного пакета 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).
Чтобы проверить, установлен ли пакет:
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 Мб).
- Распакуйте содержимое архива в целевой каталог, к примеру:
C:OpenSSH-Win
- Запустите командную строку PowerShell с правами администратора и перейдите в каталог OpenSSH:
cd C:OpenSSH-Win
- Добавьте путь к каталогу OpenSSH в переменную окружения Path;
- Установите сервер 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
Откройте в любом текстовом редакторе конфигурационный файл «C:ProgramDataSSHsshd_config», найдите и проверьте значение директивы Subsystem sftp. Здесь должен быть указан файл sftp-server.exe.
Рассмотрим полезные директивы в конфигурационном файле 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]
для доменных пользователей), под которой осуществляется подключение (возможно также настроить авторизацию по ключам). При первом подключении появится окно с предупреждением о том, что ключ хоста отсутствует в локальном кеше.
При первом подключении появится окно с предупреждением о том, что ключ хоста отсутствует в локальном кеше.
Если все настроено правильно, клиент должен подключиться к SFTP серверу и отобразить список файлов в домашнем каталоге пользователя (по умолчанию каталог с профилем пользователя).
С помощью привычного интерфейса файлового менеджера можно безопасно копировать файлы между сервером и клиентом по защищённому протоколу SFTP.
Для подключения к SFTP серверу из PowerShell можно использовать модуль Posh-SSH. Вы можете скачать установить модуль из PowerShell Gallery или офлайн:
Install-Module -Name Posh-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
Чтобы скачать файл с удаленного 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 сессию:
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 аутентификации по ключам
Вы можете настроить SFTP аутентификацию по ключам. В этом случае при подключении к SFTP серверу вам не нужно будет указывать пароль пользователя.
Подробно настройка SSH аутентификации по ключам описана в этой статье.
Для этого нужно:
- Создать на вашем компьютере (SFTP клиент) ключи для пользователя, под которым вы будете подключаться к серверу:
ssh-keygen -t ed25519
- Утилита сгенерирует два файла
id_ed25519
(закрытый ключ для клиента) и
id_ed25519.pub
(открытый ключ для сервера); - Теперь нужно добавить ваш 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).
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).
- Extract the archive to the target folder: C:OpenSSH-Win;
- Open an elevated PowerShell prompt and switch to the OpenSSH folder:
Cd C:OpenSSH-Win
- 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);
- 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
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 SSH
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.
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).
When you try to connect for the first time, the following notification of the host key not found in the local cache appears.
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.
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
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
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"
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.
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.
- Create SSH keys on your computer (SFTP client) for the user under which you will connect to the server:
ssh-keygen -t ed25519
- 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);
- 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
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
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.
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.
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.
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
Если вам понадобился 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
Сейчас доступна версия v8.0.0.0p1-Beta. Скачиваю OpenSSH-Win64.zip.
Создаю директорию C:Program FilesOpenSSH, распаковываю в неё содержимое архива.
Запускаю powershell от имени администратора.
Выполняю скрипт установки:
cd "Program FilesOpenSSH"
.install-sshd.ps1
sshd and ssh-agent services successfully installed
Если произошла ошибка политики безопасности, то можно выполнить установку так:
powershell -ExecutionPolicy Bypass -File .install-sshd.ps1
Генерирую ключи:
.ssh-keygen.exe -A
В результате вижу ошибку:
Исправляется легко, захожу в папку C:ProgramData и создаю вручную директорию «ssh».
Снова пытаюсь сгенерировать ключи:
.ssh-keygen.exe -A
На этот раз процедура выполняется успешно.
Настраиваю владельца файлов и права доступа:
PowerShell -ExecutionPolicy Bypass -File .FixHostFilePermissions.ps1
На каждый вопрос отвечаю «A».
Открыть 22 порт
OpenSSH работает по порту TCP 22. Открою доступ в Firewall:
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
То же самое можно сделать через GUI в оснастке Windows Firewall with Advanced Security.
Запуск службы OpenSSH
Открываю список служб:
services.msc
Нахожу службу «OpenSSH SSH Server». В свойствах службы делаю автоматический запуск и запускаю её.
Проверим что 22 порт работает:
netstat -tan | find "22"
22 порт слушается.
Проверка OpenSSH
Проверю с помощью WinSCP. Для доменного пользователя используется логин вида domainusername.
При первом входе появится окно:
Yes.
Всё работает.
Настройка доступа
Конфигурационный файл находится здесь: C:ProgramDatasshsshd_config.
Собственно, 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:
- Файлы и команды передаются в безопасном сеансе SSH;
- Одно соединение используется для отправки файлов и команд;
- Поддерживаются символические ссылки, передача прерываний / возобновлений, функции удаления файлов и т. Д .;
- Как правило, в каналах, где FTP работает медленно или не работает, SFTP-соединение работает быстрее и надежнее;
- Возможность аутентификации с использованием ключей 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 -> Установить ).
- Исполняемые файлы 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);
- Установите сервер OpenSSH:
.install-sshd.ps1
(должно появиться зеленое сообщение « Службы sshd и ssh-agent успешно установлены »);
- Сгенерируйте ключи SSH для сервера (необходим для запуска службы sshd):
ssh-keygen.exe –A
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
- Включите автозапуск для службы 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
Примечание . Предыдущая команда не будет работать в старых версиях 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 файл должен быть указан здесь.
Вы можете дополнительно настроить следующие параметры в файле конфигурации sshd_config:
AllowGroups corpsftp_users #
разрешить подключение к OpenSSH только пользователям этой доменной группы
AuthenticationMethods password #
включить аутентификацию по паролю (ключи SSH не могут быть использованы)
ForceCommand internal-sftp
ChrootDirectory C:inetpubwwwrootftpfolder #
каталог по умолчанию для пользователей SFTP
Тестирование SFTP-соединения с использованием WinSCP
Попробуем подключиться к созданному SSH-серверу по протоколу SFTP. Для этого используйте бесплатный клиент WinSCP .
В окне конфигурации подключения выберите SFTP в качестве протокола передачи файлов, укажите имя сервера и учетные данные учетной записи Windows, которая используется для подключения (также можно настроить проверку подлинности ключа).
При первой попытке подключения появляется следующее уведомление о ключе хоста, не найденном в локальном кэше.
Если все настроено правильно, клиент подключится к SFTP-серверу и отобразит список файлов в домашнем каталоге пользователя (по умолчанию это каталог с профилем пользователя).
Используя знакомый интерфейс файлового менеджера ( например, Total Commander ), вы можете копировать файлы между сервером и клиентом. Файлы передаются с использованием безопасного SFTP.
Как удалить Win32 OpenSSH?
Чтобы правильно удалить Win32 OpenSSH из вашей системы:
- Запустите сеанс PowerShell с повышенными правами;
- Остановите службу SSHD:
Stop-Service sshd
- Удалите службу sshd:
.uninstall-sshlsa.ps1
<span>sshd успешно удален</span><span>
ssh—agent успешно удален</span>
- 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.
Процесс установки
Для начала нужно зайти в «Пуск» и войти в «Диспетчер серверов», в нем необходимо выбрать добавление роли (пункт два).
Затем зайти на вкладку «Тип установки» и кликнуть на первую категорию.
В рамке с пулами появится список серверов, надо кликнуть по нужному и щелкнуть «Далее».
В подменю серверных ролей нужно поставить галочку для сервера IIS. После этого графа развернется и представит новые настройки: здесь потребуется кликнуть на FTP. Внимание: иные версии перенесли строку «FTP-сервер» на другие вкладки.
Затем потребуется нажать и одобрить установку.
Раскройте диспетчер IIS и слева в подменю есть папка «Сайты». Если кликнуть по ней правой кнопкой мышки, всплывет подсказка. В ней следует щелкнуть на «Добавить FTP».
Следующий шаг: потребуется ввести имя нужного сайта и его полный путь к каталогу хранения.
В окне появится запрос на выбор айпи-адреса. Нужно проверить, чтобы введенный айпишник был одинаковым с тем, что значится в панели управления. Желательно выбрать еще функцию автоматического запуска, расположенной ниже, и в ней «Без SSL».
Проверять подлинность будем обычным способом, доступы разрешаются каждому юзеру. Также рекомендуем выбрать все предложенные разрешения.
О настройках брендмауэра
Чтобы внешние подключения происходили быстро и гладко, потребуется настроить файервол – это проводится через приложение брендмауэра. Его следует запускать с режимом повышенной безопасности. После открытия в левом подменю нужно найти графу с правилами для входящих подключений, а в правой части кликнуть по созданию новых правил.
В «Мастер создания» выбирается предопределенный тип правил, ему указывается правило FTP из выпадающего подменю.
В подменю предопределенных правил рекомендуем поставить галочки во всех строках.
В подменю «Действие» необходимо разрешить подключения (первая строка). Настройка закончилась, она войдет в работу как только перезагрузится сервер.
О подключениях к FTP
Провести подключение возможно посредством базовой виндовской программы («Проводника») либо при помощи специальных программ, например, FileZilla.
Подключаясь по методу «Проводник», в адресную строчку вводится:
ftp://ip-адрес
К примеру, ftp://177.118.25.63
Всплывет окно, в него вводится информация: выбирается существующий юзер и указывается пароль.
Внимание: при помощи сервера IIS возможно проводить гибкие подключения к серверам. В том числе разделить видимое пространство различным клиентам, редактировать их права, давать анонимный доступ.
В случае удачно проведенных действий откроется окно с папками, расположенными на сервере.
Внимание: встроенные сервера имеют богатые возможности. В том числе позволяют вести журнал, изолировать юзеров, поддерживать SSL, ограничивать число попыток входа.
Как настроить Secure (SFTP)
подразделяются на два типа: заверенные официальной комиссией и самоподписанные. Первый тип считается безопасным, так как за надежность заверяется центром, отвечающим за сертификацию.
Если брать самозаверенные сертификаты, тогда юзеры при желании зайти на сервер будут получать предупреждения.
Начать работу с самозаверенным сертификатом просто:
1. Нужно зайти в окно диспетчера IIS и выбрать параметр «Сертификаты».
2. В правой подменю необходимо выбрать создание самоподписанного типа.
3. Ввести его название.
Чтобы настроить SFTP потребуется вернуться к начальной странице (кликнуть по FTP в левом подменю) и открыть параметры, как на скриншоте.
Открывшееся окно предложить сделать выбор политики – укажите второй вариант с требованиями SSL-соединений.
Чтобы произвести подключения по защищенному каналу, понадобится программа WinSCP:
• Протоколом должен выступить FTP;
• В качестве шифрования из выпадающего меню выбирается «Явное»;
• Именем хосту будет служить айпи или доен;
• Если не было настроек других портов, нужно выбирать 21-й;
• Последними указываются логин и пароль.
После входа появится все, что содержит FTP-каталог.
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
протокол передачи файлов (FTP) является одним из оригинальных интернет-протоколов, используемых для передачи больших файлов. FTP с дополнительной защитой, такой как в SFTP и FTPS, по-прежнему остается одним из лучших инструментов для передачи файлов. Но чтобы его использовать, вам нужно настроить SFTP-сервер..
Ниже мы рассмотрим каждый из 19 лучших инструментов, но если вам не хватает времени, вот наши Список 10 лучших бесплатных серверов SFTP и FTPS:
- Сервер SFW / SCP SolarWinds (БЕСПЛАТНЫЙ ИНСТРУМЕНТ) Утилита для безопасной передачи файлов для Windows от лидера в отрасли инструментов управления сетью.
- Filezilla FTPS Отличный безопасный бесплатный FTP-сервер, который работает под Windows, но может получать файлы из любой операционной системы.
- IIS FTPS сервер Безопасный FTP-сервер на базе Windows, который интегрирован в Windows Server и защищает передачу файлов с помощью шифрования..
- Бесплатный FTP Утилита Slimline для Windows, которая обеспечивает безопасную передачу файлов в качестве специального инструмента или в качестве системной службы.
- SFTP-сервер Syncplify.me Это платная безопасная утилита FTP, которая работает в Windows. Вы можете бесплатно запустить некоммерческую ознакомительную версию..
- Rebex Tiny SFTP-сервер — Безопасная система передачи файлов, которая может быть интегрирована в ваше собственное программное обеспечение через библиотеки .NET.
- CrushFTP Простая, но привлекательная FTP-утилита для Windows; сервер бесплатен для 30-дневной пробной версии, а клиент — навсегда.
- Угловой MFT сервер Управляемая передача файлов (MFT) — это платная защищенная система передачи файлов, работающая в Windows и бесплатная для 30-дневной пробной версии..
- SFTP-сервер Globalscape Ряд параметров безопасной передачи файлов под общим термином «Расширенная передача файлов», доступ к которым можно получить в облаке или установить в Windows. Это платные инструменты, которые могут быть опробованы на бесплатных испытаниях.
- 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)
Исходный протокол и его основное ограничение заключается в том, что он отправляет логины и данные в незашифрованном виде. Информация для входа в систему, а также сам файл отправляются «открытым текстом» в виде простого текста, который может видеть наблюдатель..
Безопасный протокол передачи файлов (FTPS)
(также известен как FTPES): Это безопасный FTP, где S, в данном случае, представляет Безопасность транспортного уровня (TLS) шифрование. По сути, это базовый FTP-сервер, который знает, как согласовать зашифрованный туннель TLS для передачи данных через.
Протокол безопасной передачи файлов (SFTP)
Это также безопасный FTP, но в этом случае S представляет Безопасная оболочка (SSH). Это на самом деле не FTP-сервер. Скорее, это сервер SSH, который понимает команды FTP. Регистрационная информация и файлы передаются в зашифрованном виде через SSH. Чтобы сделать вещи еще более запутанными, первоначальная цель аббревиатуры SFTP была простой протокол передачи файлов, определенный в RFC 913, но был переведен в статус «Исторический» и больше не используется.
Безопасное копирование (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, так и 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 и защиты передачи с использованием шифрования с открытым ключом..
3. Сервер IIS FTPS
Часто пропускаемый FTPS-сервер доступен прямо в Windows Server. Если вы уже используете Internet Information Services (IIS), вы можете добавить роль FTP-сервера, затем создать сертификаты TLS и получить полнофункциональный FTPS-сервер, работающий рядом с вашим IIS-сервером..
4. FreeFTP
Основанный на FreeSSH, FreeFTP является полнофункциональным SFTP-сервером для Windows. Он поддерживает все разновидности FTP, включая SFTP и FTPS. Как следует из названия, он бесплатный и поддерживает создание произвольных пользователей, что делает его идеальным для быстрой настройки SFTP в сети Windows..
Во время установки вы можете выбрать запуск FreeSFTP по мере необходимости или установить его как системную службу. Последнее означает, что он будет работать все время и будет доступен для ваших пользователей SFTP.
Убедитесь, что вы загрузили последнюю версию (более 1.0.11). В версии 1.0.11 была обнаружена уязвимость, которая была исправлена в версии 1.0.12, а текущая версия — 1.0.13..
5. Syncplify.me SFTP-сервер
Syncplify — это расширяемые SFTP-серверы, которые могут запускать пользовательские сценарии. Если вы обнаружите, что вам нужно перепрыгнуть через обручи, чтобы встроить свой SFTP-сервер в свой уникальный рабочий процесс, Syncplify может стать инструментом, который вы ищете.
Бесплатная пробная версия имеет все функции Ultimate, но она поддерживает только одно соединение и не лицензирована для использования в производстве. Другие преимущества обновления до платной версии сервера SFTP включают соображения безопасности. Вы можете использовать шифрование с открытым ключом RSA с бесплатной версией, но платная версия инструмента включает в себя множество других вариантов аутентификации и шифрования..
6. Rebex Tiny SFTP-сервер
SFTP-сервер Rebex Tiny является бесплатным для любого использования, включая коммерческое использование. Он работает на Windows XP до Windows 7, а также поддерживает выпуски Windows Server 2002, 2008 и 2012. Это ограничено одним пользователем, но поставляется с множеством функций. Он не требует настройки и содержит полные возможности ведения журнала, а также поддержку входа с открытым / закрытым ключом вместо паролей..
Стоит также отметить, что Rebex предоставляет полные библиотеки .NET, позволяющие разработчикам включать SFTP-код в свои собственные приложения. Библиотеки не являются бесплатными, но стоит посмотреть, если вы являетесь разработчиком .NET с таким проектом под рукой.
7. CrushFTP
CrushFTP — это FTP-сервер на базе Windows, который использует сжатие, отсюда и название «Crush». Он сжимает передаваемые файлы и передает сжатые данные по сети, значительно сокращая время передачи для многих типов файлов..
CrushFTP также имеет некоторые встроенные меры безопасности, включая процедуры аутентификации пользователей, которые обращаются к Active Directory на вашем хосте. Он может защищать от атак методом «грубой силы» путем автоматического запрета атакующих IP-адресов, а надежное управление пользователями включает виртуальные файловые системы и наследование разрешений. Сервер CrushFTP имеет 30-дневную пробную версию, и клиент всегда свободен.
8. Cornerstone MFT сервер
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 сервер
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 также предлагает сервер 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-серверу отображать текст на разных языках, или вы можете написать свой собственный языковой файл, если нужный вам язык еще не доступен.
13. Core Mini SFTP-сервер
Основной мини-FTP-сервер — это бесплатный SFTP-сервер, который не требует установки. Вы можете просто загрузить его, указать имя пользователя и пароль, каталог, который будет использоваться для передачи по FTP, и все готово. Имейте в виду, что SFTP-сервер будет работать как ваш пользователь, поэтому нет защиты от SFTP-пользователей, портящих ваши файлы. Обязательно укажите безвредный или пустой каталог для использования FTP.
Лучшие бесплатные SFTP и FTPS серверы для Linux
- MySecureShell
- vsftp
- ProFTPd
- PureFTPd
- 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, и тогда вы будете в рабочем состоянии..
15. vsftp
Vsftp — это бесплатный FTP-сервер для Unix-подобных систем, включая Linux. Он известен как очень быстрый, стабильный и потребляющий мало системных ресурсов. Обширный список функций включает поддержку виртуальных пользователей (не системных пользователей), возможность прослушивания на любом интерфейсе, настройку для каждого пользователя и ограничение или регулирование скорости, чтобы избежать атак или использования типа DOS..
Многие из наиболее известных дистрибутивов Linux используют vsftp в качестве FTP-сервера, что говорит о его безопасности и стабильности. Часть этой родословной может происходить из-за того, что сопровождающий приложения, Крис Эванс, сам имеет опыт обнаружения уязвимостей в безопасности..
Vsftp входит в большинство дистрибутивов Linux и может быть установлен через менеджер пакетов.
$ sudo apt-get install vsftpd
Чтение списков пакетов … Готово
Построение дерева зависимостей
Чтение информации о состоянии … Готово
Будут установлены следующие НОВЫЕ пакеты:
Vsftpd
Как и для большинства инструментов Linux, для настройки некоторых основных параметров конфигурации необходим быстрый просмотр файла /etc/vsftp.conf, и тогда ваш сервер vsftp готов к работе.
16. ProFTPd настроен на использование SFTP
ProFTP был создан с нуля из-за необходимости вытеснять wu-ftp как широко используемый FTP-сервер. Wu-ftp стал громоздким из-за многолетних модификаций, сделанных необходимыми из-за ненадежности в приложении, и в конечном итоге стало более продуктивным просто создать новый клиент FTP с нуля.
ProFTP вдохновлен несколько после веб-сервера Apache. В основном это можно увидеть в формате файлов конфигурации и в том, что он использует модули для загрузки необходимой функциональности. В этом случае вы захотите использовать ProFTP с загруженным модулем mod_sftp для достижения функциональности SFTP..
Веб-сайт 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 это общесистемный пакет мониторинга, который состоит из «датчиков», которые являются отдельными мониторами. Вы настраиваете услугу, выбирая, какие датчики включить.
PRTG включает в себя датчики для FTP, SFTP и FTPS. Они обеспечивают безопасный контроль файловых серверов, предоставляя данные о производительности для удаленных серверов, а также тех, которые работают на том же сервере, на котором размещено программное обеспечение PRTG. PRTG работает на Windows Server. Однако датчики FTP могут контролировать FTP-серверы на серверах Linux. Когда датчик подключается к другому серверу, особенно когда этот сервер находится на другом сайте, он использует SSL или SSH для защиты соединений от перехватчиков.
Датчики собирают время отклика, сообщения сервера и текущее количество файлов для каждого сеанса FTP. Эта информация появляется на панели инструментов PRTG, поэтому администраторам, использующим PRTG для мониторинга системы, не нужно переключаться на другое приложение для получения информации о передаче файлов. Данные о производительности могут иметь пороговые значения для запуска оповещений. С помощью этого инструмента администратор может выполнять другие задания и обращать внимание на FTP-серверы только в случае возникновения проблем..
PRTG — это всего лишь один из инструментов системного мониторинга, который может контролировать FTP. Этот путь к управлению передачей файлов является альтернативой использованию программного пакета FTP-сервера, который включает в себя интегрированные отчеты о производительности. Если вы хотите поближе познакомиться с тем, как PRTG управляет серверами FTP, вы можете получить инструмент с неограниченным количеством датчиков на 30-дневная бесплатная пробная версия.
Paessler FTP Monitoring с PRTGDownload 30-дневная бесплатная пробная версия
Лучшие бесплатные SFTP и FTPS серверы для Windows и Linux
19. VandDyke VShell
VanDyke Software VSHell — это сервер SFTP и SCP корпоративного уровня для Windows и Unix. Он поддерживает SFTP, SCP и FTPS и включает очень детальный контроль доступа пользователей.
Версия для Windows может похвастаться простым в использовании графическим установщиком и может использовать различные методы аутентификации пользователей, такие как пары LDAP и открытый / закрытый ключи..
Версия Unix поддерживает виртуальные каталоги, а также детальные права доступа к файлам. Права доступа к файлам могут быть установлены для каждого пользователя или для самих виртуальных каталогов..
VShell поставляется с 30-дневной пробной версией.