SFTP(安全 文件传输协议,安全FTP或SSH FTP)是SSH协议的扩展,是UNIX / Linux系统中的标准。从用户的角度来看,它与FTP类似,可是实际上,它是一个彻底不一样的协议,与FTP没有任何共同点。数据经过SSH隧道(TCP端口22)在客户端和服务器之间传输。git
SFTP的主要优势:github
从历史上看,Windows操做系统不提供任何内置工具来运行安全的SFTP服务器。为此,已经使用了开源或专有解决方案,例如Core FTP,FileZilla,CYGWIN,OpenSSH,FTP Shell,IPSwitch等。可是,几年前,Microsoft为Win32发布了其版本的OpenSSH端口。该项目称为Win32-OpenSSH。shell
让咱们考虑使用Win32 OpenSSH程序包运行Windows 10或Windows Server 2019/2016/2012 R2的SFTP服务器的配置。windows
在Windows 10 1803 + / Windows Server 2019上安装Win32 OpenSSH安全
在Windows 10 build 1803和更高版本中以及在Windows Server 2019中,OpenSSH软件包已经以诸如RSAT之类的按需功能(FoD)的形式包含在操做系统中。服务器
您可使用如下PowerShell cmdlet在Windows 10和Windows Server 2019上安装OpenSSH服务器:ssh
Add-WindowsCapability -Online -Name OpenSSH.Server*
编辑器
或使用DISM:dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0
工具
您也能够从Windows 10 GUI添加OpenSSH服务器(设置 -> 应用程序 -> 可选功能 -> 添加功能 -> 打开SSH服务器 -> 安装)。ui
c:\windows\system32\OpenSSH\
;C:\ProgramData\ssh
(sshd服务的第一次启动后,将建立该目录);c:\windows\system32\OpenSSH\logs\sshd.log
;%USERPROFILE%\.ssh\
。在Windows 10的早期版本和Windows Server 2016/2012 R2中,必须从GitHub(https://github.com/PowerShell/Win32-OpenSSH/releases)下载并安装OpenSSH 。您须要下载Windows x64的软件包版本:OpenSSH-Win64.zip(3.5 MB)。将存档解压缩到目标目录:C:\ OpenSSH-Win;
Cd C:\OpenSSH-Win
4.安装OpenSSH服务器:(.\install-sshd.ps1
绿色消息应显示“ sshd和ssh-agent服务已成功安装 ”);
五、为服务器生成SSH密钥(须要启动sshd服务):ssh-keygen.exe –A
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
Set-Service -Name sshd -StartupType ‘Automatic’
Start-Service sshd
七、重启你的电脑:
Restart-Computer
八、使用PowerShell在Windows防火墙中打开TCP端口22,以接收传入的SSH通讯:
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH