С помощью встроенного пакета 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:\windows\system32\OpenSSH\
Конфигурационный файл sshd_config находится в каталоге C:\ProgramData\ssh (каталог создается после первого запуска службы).
Лог — c:\windows\system32\OpenSSH\logs\sshd.log
Файл authorized_keys и ключи хранятся в каталоге %USERPROFILE%\.ssh\.
В предыдущих версиях Windows 10, в Windows 8.1 или в Windows Server 2016/2012 R2 вам придется скачать Win32-OpenSSH для Windows с GitHub и установить вручную (https://github.com/PowerShell/Win32-OpenSSH/releases). Нам нужна версия для 64 битной версии Windows: OpenSSH-Win64.zip (4,15 Мб).
- Распакуйте содержимое архива в целевой каталог, к примеру:
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:\ProgramData\SSH\sshd_config», найдите и проверьте значение директивы Subsystem sftp. Здесь должен быть указан файл sftp-server.exe.
Рассмотрим полезные директивы в конфигурационном файле sshd_config:
# разрешить подключение к OpenSSH только для пользователей из этой группы
AllowGroups corp\admingroup
# включить аутентификацию по паролю (нельзя использовать ключи SSH)
AuthenticationMethods password ForceCommand internal-sftp
#каталог для SFTP пользователей (по умолчанию пользователь подключается в каталог со своим профилем в папке C:\users\username)
ChrootDirectory C:\SFTPRoot
#Для каждого пользователя можно индивидуальную chrootdirectory:
Match User user1 ChrootDirectory c:\SFTPRoot\user1 ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no
Match User user2 ChrootDirectory c:\SFTPRoot\user2 ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no
Подключение к SFTP серверу с помощью PowerShell и WinSCP
Теперь вы может подключиться к вашему SSH серверу на Windows по протоколу SFTP. Ниже мы покажем, как подключиться к SFTP серверу с помощью бесплатного клиента клиент WinSCP, консоли PowerShell и встроенной утилиты sftp.exe.
В окне настройки подключения выберите протокол передачи файлов SFTP, укажите имя сервера и данные учетной записи Windows (в формате
user@domain
для доменных пользователей), под которой осуществляется подключение (возможно также настроить авторизацию по ключам). При первом подключении появится окно с предупреждением о том, что ключ хоста отсутствует в локальном кеше.
При первом подключении появится окно с предупреждением о том, что ключ хоста отсутствует в локальном кеше.
Если все настроено правильно, клиент должен подключиться к 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:\Temp\mytestfile.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:\Users\alex\.ssh\authorized_keys
)
Теперь вы можете использоваться файл id_ed25519 для аутентификации на SFTP сервере в настройках WinSCP (настройки подключения Advanced -> to SSH > Authentication page -> Private key file).
Если вы хотите задать SSH ключ при подключении к SFTP из PowerShell, используйте такую команду:
New-SFTPSession -ComputerName 192.168.13.200 -Credential user1 -KeyFile C:\Users\alex\.ssh\id_ed25519" -Verbose
Windows Server 2019 and Windows 10 (build 1809) have support for OpenSSH out-of-the-box, so there is no need to use any third-party library to run an SSH server or SFTP. In this post, I will demonstrate how to configure an SFTP server in Windows and use it to transfer files.
Contents
- FTPS vs. SFTP
- Install and configure the SFTP server.
- Custom SSH port [optional]
- Allow or deny connections
- Connect to OpenSSH server using SFTP
- Change the default SFTP directory
- Troubleshooting SFTP connections
- Author
- Recent Posts
Surender Kumar has more than twelve years of experience in server and network administration. His fields of interest are Windows servers, Active directory, PowerShell, web servers, networking, Linux, virtualization, and Kubernetes. He loves writing for his blog.
FTPS vs. SFTP
The File Transfer Protocol (FTP) is no longer considered safe for use as it lacks the ability to encrypt data while it is in transit. If you still use FTP over a traditional FTP port number (TCP 21), all your data and commands are transmitted in clear text. Anyone can intercept this server–client communication, which is a big security concern as per modern IT standards. Two alternatives to FTP exist:
- FTPS (FTP over SSL/TLS)—This method is just like the traditional FTP with the added support of a TLS certificate to offer encryption.
- SFTP (FTP over SSH)—This method uses SSH for transferring files, which encrypts the communication by default.
Although both can serve the purpose of transferring files, they are totally different by design. FTPS is not very firewall friendly and is difficult to configure. Thus, I will focus on SFTP in this post.
I am using two VMs in a lab environment for this demo:
- Windows Server 2022—This will work as an OpenSSH server.
- Windows 10—This will work as a client.
I have also installed the FileZilla FTP client in a Windows 10 VM, which will connect to the OpenSSH server using the SFTP protocol. Of course, you can use WinSCP or any other FTP client that supports the SFTP protocol.
Install and configure the SFTP server.
First, log in to Windows Server VM and enable the optional OpenSSH feature. To do so, launch an elevated PowerShell console, and run the following command:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Installing an OpenSSH server in Windows using PowerShell
The installation was successful if the output includes Online : True. The command will automatically configure the required firewall rule, so there is nothing you need to do manually.
Now use the following command to change the startup mode of the OpenSSH server service (sshd) to automatic and start it at the same time:
Get-Service -Name "sshd" | Set-Service -Startup "Automatic" -PassThru | Start-Service -PassThru
Change the service start mode and start the service using PowerShell
You can see that the service is now running. The main configuration file of the OpenSSH server on Windows is %ProgramData%\ssh\sshd_config, but Windows can also read the configuration from the user profile (%UserProfile%\.ssh\config) if available. Furthermore, it allows you to specify a custom configuration file using the -f switch (e.g., sshd.exe -f «c:\users\administrator\.ssh\custom_config»).
Custom SSH port [optional]
By default, the OpenSSH server listens on TCP Port 22. But you can change the port to something else by running the following PS command:
(Get-Content "C:\ProgramData\ssh\sshd_config").replace("#Port 22", "Port 2223") | Set-Content "C:\ProgramData\ssh\sshd_config" Restart-Service "sshd"
Changing the OpenSSH server port on Windows using PowerShell
The first command replaces the port number with the one you specify in the system-wide configuration file (%ProgramData%\ssh\sshd_config), and the second command restarts the service. The following command can be used to make sure the server is now listening on a new port number:
Get-NetTCPConnection -LocalPort 2223 | select Local*, State,` @{n="ProcessName";e={(Get-Process -Id $_.OwningProcess).ProcessName}},` @{n="ProcessPath";e={(Get-Process -Id $_.OwningProcess).Path}} | ft -Auto
Verify the custom port of the OpenSSH server using PowerShell
You can see that the OpenSSH server is now listening on Port 2223.
Allow or deny connections
The OpenSSH server in Windows also lets you control which users or groups are allowed to connect to the server (or denied a connection) using SFTP (and SSH). To do so, you can add the following directives to the configuration file:
- DenyUsers
- AllowUsers
- DenyGroups
- AllowGroups
Note that these directives are processed in the same order as written. By default, the OpenSSH server will allow every local or domain user to connect, but if you want to allow (or deny) a particular user or group, specify that in the configuration file, as shown in this line of code:
AllowGroups testlab\developers testlab\ssh_admins
Remember, these allow or deny directives must come before the Match Group administrators directive, as pointed out in the screenshot; otherwise, it won’t work as expected.
Using the SSH configuration file to allow or deny users and groups
Adding the above line inside the SSH configuration file will allow the members of the developers and ssh_admins groups in the TestLab domain to connect, while denying everyone else. It is recommended to specify the account names in lowercase only. Furthermore, to specify a domain account in UPN format, you must replace the @ character with ? to avoid any conflicts with regular Linux patterns. For example, to specify user@domain.com with an allow or deny directive, you must type it as user?domain*.
Connect to OpenSSH server using SFTP
The OpenSSH server is now set to accept connections from the client. Head over to your Windows 10 machine, launch FileZilla, and make a connection to the server with the settings shown in the screenshot.
Connecting to the SFTP server using the FileZilla FTP client
Make sure the protocol SFTP – SSH File Transfer Protocol and the correct SSH server port are specified. When you connect for the first time, you will see an Unknown host key warning. Click OK to trust the host and continue connecting.
The servers host key is unknown. You have no guarantee that the server is the computer you think it is.
You will now be connected to the server using the SFTP protocol, and you can start transferring files.
Using FileZilla client with the SFTP protocol to transfer files
Change the default SFTP directory
By default, you will land in your user profile directory when you connect to the server. However, you can specify a custom directory in the sshd_config file to change the default root directory for SFTP. To do so, open the C:\ProgramData\ssh\sshd_config file on the server in any text editor, and add the following line:
ChrootDirectory "C:\inetpub\wwwroot"
See the following screenshot for reference:
Change the default SFTP root directory in Windows
Restart the sshd service after making this change, and reconnect the server. You will now land in the specified directory (C:\inetpub\wwwroot). This is particularly useful on web servers, where you want users to land directly inside the website’s root directory instead of their home directory.
FileZilla FTP client connecting to a predefined root directory in Windows
There are many other settings supported by the OpenSSH server, but covering everything is beyond the scope of this article.
Troubleshooting SFTP connections
If you run into any issues while working with OpenSSH server, you can always view the event logs under Applications and Services Logs OpenSSH, as shown in the following screenshot:
Viewing event logs related to OpenSSH in Windows
The OpenSSH server also supports file-based logging, so if you’re interested in that, add the following lines to the SSH configuration file and restart the sshd service.
SyslogFacility LOCAL0 LogLevel Debug3
Enabling file based debug logging using the OpenSSH configuration file
Once you do this, you will be able to view the debug logs in the %ProgramData%\ssh\logs directory. As you can see in the following screenshot, the debug log showed that the user test\john wasn’t able to connect to the server because they are not a member of any group specified in the AllowGroups directive.
Subscribe to 4sysops newsletter!
Viewing OpenSSH debug logs to troubleshoot problems
The procedure described here also allows you to connect to a Windows system using the SSH shell, which means that users who can connect using SFTP can also connect using any SSH client (like putty) and run commands. This is why it is very important to allow only a limited number of groups containing trusted people. I hope this guide helped you get started with SFTP as a safer alternative to an FTP server on Windows.
В статье я покажу, как настроить настроить SFTP-сервер в Windows с помощью OpenSSH.
Беспроводная передача данных в локальной сети — это не ноу-хау. Уже многие таким образом обмениваются файлами во внутренней сети. Часто для этого используется подключение по протоколу FTP.
Настраивается FTP-сервер и с помощью FTP-клиента другие компьютеры сети могут к нему подключиться. Но поскольку протокол FTP небезопасен, вам следует подумать об отказе от него в пользу чего-то лучшего. Для тех, кто не вкурсе, существует более безопасный протокол передачи файлов, который называется SFTP. Он шифрует передаваемые данные. Использование безопасного протокола SFTP может гарантировать, что никто не сможет подключиться и перехватить данные.
Содержание
- SFTP-сервер в Windows
- Настройка SFTP-сервера в Windows с помощью OpenSSH
- Установка OpenSSH (и активация необходимых сервисов)
- Открытие порта SSH в брандмауэре Windows
- Тестирование SFTP-сервера
- Тестирование SFTP-сервера в Windows
- Тестирование SFTP-сервера в Android
- Заключение
Все хорошо, но есть одна проблема чтобы настроить SFTP-сервер нужен SSH, а его во всех версиях Windows — нет. Если вам нужен SFTP-сервер придется использовать OpenSSH.
OpenSSH — это реализация SSH с открытым исходным кодом, и рекомендует использовать сам Microsoft. OpenSSH по умолчанию включен в Windows 10 и Windows Server 2019. Но вы можете использовать рассмотренный в статье метод с любой версией Windows.
Настройка SFTP-сервера в Windows с помощью OpenSSH
Настройка SFTP-сервер в Windows состоит из двух частей:
- Установка OpenSSH
- Открытие порта SSH для работы SFTP
Установка OpenSSH (и активация необходимых сервисов)
- Загрузите OpenSSH с GitHub.
- Распакуйте архив в папку Program Files.
- Откройте PowerShell от имени администратора и вставьте следующую команду в окно, чтобы перейти к папке:
<strong>cd «C:\Program Files\OpenSSH—Win64</strong>».
- Для работы SSH требуются две службы: sshd и ssh-agent. Чтобы установить их, введите следующую команду в окно PowerShell:
<strong>powershell.exe —ExecutionPolicy Bypass —File install—sshd.ps1</strong>.
Вы должны увидеть сообщение «Службы sshd и ssh-agent успешно установлены». - Закройте окно PowerShell.
- Вы можете запустить службы вручную или настроить их автоматическое открытие с помощью Services.msc. Это создаст папку
<strong>C:\ProgramData\ssh</strong> с вашим ключом хоста, который имеет важное значение для работы службы.
Примечание. Службы называются агентом проверки подлинности OpenSSH и сервером SSH OpenSSH.
Открытие порта SSH в брандмауэре Windows
- SSH использует порт 22 для передачи / аутентификации, который закрыт в Windows, потому что SSH не включен по умолчанию. Чтобы открыть его, откройте брандмауэр Windows из панели управления.
- Нажмите на Входящие правила (на левой панели).
- На правой панели нажмите новое правило, выберите Порт и нажмите Далее.
- Введите число 22 в поле «Определенные локальные порты» и нажмите «Далее».
- Выберите «Разрешить подключение», нажмите «Далее» и выберите «Частный» для опции сети.
- Дайте правилу имя. Например, SSH или OpenSSH.
- Нажмите на Готово.
Тестирование SFTP-сервера
Давайте проверим, работает ли SFTP-сервер. Для этого вам нужен SFTP-клиент. Я буду испоьзовать бесплатный SFTP-клиент WinSCP, но вы можете использовать любой другой, поддерживающий SFTP, например, FileZilla, FTP Rush или файловый менеджер с поддержкой SFTP, такой как Altap Salamander.
Для Android есть много вариантов; Total Commander и Ghost Commander имеют плагины SFTP, в то время как некоторые приложения, такие как Amaze File Manager или X-plore File Manager, имеют встроенную функцию SFTP.
Тестирование SFTP-сервера в Windows
Запустите WinSCP и выберите «SFTP» в качестве протокола. В поле имени хоста введите «localhost» (если вы тестируете компьютер, на котором вы установили OpenSSH). Вам нужно будет ввести имя пользователя и пароль Windows, чтобы программа могла подключаться к серверу. Нажмите сохранить и выберите логин.
Вы увидите всплывающее окно, подобное показанному ниже, которое спрашивает вас, доверяете ли вы серверу, к которому пытаетесь подключиться. Поскольку сервер является вашим собственным компьютером, вы можете разрешить это. В основном это ключ хоста, который аутентифицирует соединение, установленное устройством. Вы можете использовать это для передачи контента с одного компьютера на другой тоже.
Примечание. Если ваша учетная запись пользователя Windows не имеет пароля, вам потребуется использовать открытый ключ для аутентификации SFTP-сервера, который включает отдельный процесс. Вы можете создать другую учетную запись в системе для доступа к SFTP, но, возможно, потребуется сделать файлы доступными вне пользовательского каталога.
Тестирование SFTP-сервера в Android
Давайте использовать Amaze File Manager с открытым исходным кодом. Нажмите кнопку + и выберите «Облачное соединение». Выберите соединение SCP / SFTP, и должно появиться всплывающее окно. Найдите IP-адрес вашего компьютера с помощью командной строки и команды IP-конфигурации. Например, мой компьютер имеет адрес 192.168.1.9
Введите его в поле сервера, оставьте номер порта как 22 и введите имя пользователя и пароль Windows в соответствующих полях. Он должен подключиться к вашему компьютеру, и вы сможете получить доступ ко всему содержимому, доступ к которому может получить учетная запись Windows.
Заключение
Одним из основных преимуществ SFTP-сервера является то, что вы сможете легко получать доступ или передавать файлы по сети. Это не единственный способ делиться файлами, есть также небезопасный SMB и т.д., о которых мы рассказывали в этой статье.
Содержание
- Как подключиться к SFTP в Windows?
- Есть ли в Windows клиент SFTP?
- Как мне настроить SFTP-сервер?
- Как передать файлы с помощью SFTP в Windows?
- Работает ли Sftp в Windows?
- Что такое команда SFTP?
- Что нужно для SFTP?
- Как получить SFTP?
- Sftp бесплатен?
- Как работает SFTP-сервер?
- Какой порт использует SFTP?
- Как мне проверить свое SFTP-соединение?
- Как получить доступ к папке SFTP в Windows?
- Как передать файлы с помощью SFTP?
- Как выполнить Sftp из командной строки?
В раскрывающемся меню File Protocol выберите SFTP. В поле Host Name введите адрес сервера, к которому вы хотите подключиться (например, rita.cecs.pdx.edu, linux.cs.pdx.edu, winsftp.cecs.pdx.edu и т. Д.). Оставьте номер порта 22. Введите свой логин MCECS в качестве имени пользователя и пароля.
Есть ли в Windows 10 клиент SFTP?
Как установить SSH-клиент Windows 10. Клиент SSH является частью Windows 10, но это «дополнительная функция», которая не устанавливается по умолчанию. Чтобы установить его, перейдите в Настройки & gt; Приложения и нажмите «Управление дополнительными функциями» в разделе «Приложения и приложения». Особенности.
Как мне настроить SFTP-сервер?
1. Создание группы SFTP и пользователя
- Добавить новую группу SFTP. …
- Добавить нового пользователя SFTP. …
- Установить пароль для нового пользователя SFTP. …
- Предоставить полный доступ новому пользователю SFTP в его домашнем каталоге. …
- Установить пакет SSH. …
- Откройте файл конфигурации SSHD. …
- Редактировать файл конфигурации SSHD. …
- Перезапустить службу SSH.
Как передать файлы с помощью SFTP в Windows?
Для передачи файлов на сервер или с сервера с помощью SFTP используйте SSH или SFTP-клиент. … WinSCP
- Откройте WinSCP. …
- В поле «Имя пользователя» введите свое имя пользователя для указанного вами хоста.
- В поле «Пароль» введите пароль, связанный с именем пользователя, которое вы ввели на предыдущем шаге.
- Щелкните Вход.
24 дек. 2018 г.
Работает ли Sftp в Windows?
Запустите WinSCP и выберите «SFTP» в качестве протокола. Вам нужно будет ввести свое имя пользователя и пароль Windows, чтобы программа могла подключиться к серверу. … Нажмите «Сохранить» и выберите «Войти».
Что такое команда SFTP?
SFTP (протокол передачи файлов SSH) — это безопасный файловый протокол, который используется для доступа, управления и передачи файлов через зашифрованный транспорт SSH. … В отличие от SCP, который поддерживает только передачу файлов, SFTP позволяет выполнять ряд операций с удаленными файлами и возобновлять передачу файлов.
Что нужно для SFTP?
Хотя протокол безопасной передачи файлов (SFTP) не требует двухфакторной аутентификации, у вас есть возможность потребовать как идентификатор пользователя, так и пароль, а также ключи SSH для более безопасного соединения. … В отличие от FTP через SSL / TLS (FTPS), SFTP требуется только один номер порта (порт 22) для установления соединения с сервером.
Как мне получить SFTP?
Как копировать файлы в удаленную систему (sftp)
- Перейдите в исходный каталог в локальной системе. …
- Установите sftp-соединение. …
- Вы можете перейти в целевой каталог. …
- Убедитесь, что у вас есть разрешение на запись в целевой каталог. …
- Чтобы скопировать отдельный файл, используйте команду put. …
- Закройте соединение sftp.
Sftp бесплатен?
Бесплатный SFTP / SCP сервер SolarWinds — бесплатно скачать ЗДЕСЬ
Предоставляемый SolarWinds, лидером в области программного обеспечения для управления сетью, их бесплатный пакет программного обеспечения предоставляет отличный бесплатный инструмент для быстрой и безопасной передачи файлов между ваша сеть.
Как работает SFTP-сервер?
Сервер SFTP — это место, в котором хранятся файлы, а также место, откуда вы можете подключиться и получить эти файлы. Сервер предоставляет свои услуги, поэтому пользователи могут безопасно хранить и передавать данные. Сервер использует протокол передачи файлов SSH для обеспечения безопасности соединения.
Какой порт использует SFTP?
Какой порт использует SFTP? В отличие от FTP через SSL / TLS (FTPS), SFTP нужен только один порт для установления соединения с сервером — порт 22.
Как проверить мое SFTP-соединение?
Для проверки SFTP-соединения через telnet можно выполнить следующие шаги: Введите Telnet в командной строке, чтобы начать сеанс Telnet. Если получено сообщение об ошибке, что программа не существует, следуйте инструкциям здесь: http://www.wikihow.com/Activate-Telnet-in-Windows-7.
Как получить доступ к папке SFTP в Windows?
Вы можете просто ввести ftp: //[email protected] в любой адресной строке Windows Explorer, а затем ввести свой пароль для доступа к удаленному FTP-узлу. … Для этого урока вам понадобятся следующие вещи:
- ПК под управлением Windows.
- Копия Swish (бесплатно)
- Учетная запись SFTP для проверки вашего соединения.
20 июн. 2013 г.
Как передать файлы с помощью SFTP?
Загрузите файлы с помощью команд SFTP или SCP
- Используя имя пользователя, назначенное вашей организацией, введите следующую команду: sftp [имя пользователя] @ [центр обработки данных]
- Введите свой присвоенный пароль учреждения.
- Выберите каталог (см. Папки каталогов): введите cd [имя каталога или путь]
- Введите put [myfile] (копирует файл из вашей локальной системы в систему OCLC)
- Введите выход.
21 авг. 2020 г.
Как выполнить Sftp из командной строки?
Введите имя исполняемого файла программы в командной строке и нажмите клавишу «Enter». Приглашение изменится с «C: & gt;». на «sftp:». Имя исполняемого файла вашего клиента зависит от того, какую программу вы используете. Обратитесь к документации, если вы не уверены, какую команду использовать.
Похожие сообщения:
- Как установить Passwordless Sftp в Linux?
- Как подключиться к SFTP в Linux?
- Быстрый ответ: как установить SFTP в Linux?
- Как использовать SFTP в Windows 10?
- Быстрый ответ: Как мне настроить SFTP-сервер в Windows 10?
- Что такое SFTP в Linux?
.
В этой статье мы покажем, как использовать 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:\windows\system32\OpenSSH\
:; - Sshd_config файл конфигурации находится в каталоге:
C:\ProgramData\ssh
(этот каталог создается после первого запуска службы Sshd); - Лог — файл:
c:\windows\system32\OpenSSH\logs\sshd.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 corp\sftp_users #
разрешить подключение к OpenSSH только пользователям этой доменной группы
AuthenticationMethods password #
включить аутентификацию по паролю (ключи SSH не могут быть использованы)
ForceCommand internal-sftp
ChrootDirectory C:\inetpub\wwwroot\ftpfolder #
каталог по умолчанию для пользователей 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>