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