The Secure File Transfer Protocol (SFTP) server is a reliable protocol designed specifically for secure file transfers. Its primary purpose is to facilitate the secure exchange of files between machines by establishing a secure connection.
SFTP enables file transfers in various configurations, such as server-to-server or client-to-server setups. This versatile protocol ensures that files are transferred securely, even across networks that may be considered insecure or vulnerable to unauthorized access.
By leveraging the capabilities of SFTP, you can confidently send confidential files over networks, ensuring their privacy and integrity throughout the transfer process.
Please refer to the following steps to set up SFTP on Windows Server 2016.
1. At first, Download OpenSSH-Win64.zip from this link.
2. Create a folder called OpenSSH-Win64 at location C:\Program Files (x86) and extract the downloaded file into it. 
3. Right-click and open the command prompt with admin credentials and run the below command.
powershell.exe -file ”C:\Program Files (x86)\OpenSSH-Win64\install-sshd.ps1”

4. Go to the services.msc >> Find OpenSSH Authentication Agent and OpenSSH SSH Server.
5. Start both the service and change startup type from Manual to Automatic.
6. Go to the path C:\ProgramData\ssh and open the sshd_config file; change the root directory to the path where you want to upload your files using SFTP.
7. Create a user to log in for FTP. You can refer to Create User > Windows 2016 to create a user.
8. Provide the Read/Write folder permission to a newly created user and click on the OK button. 
9. Open your favorite FTP client. Here, we have used a Filezilla FTP client.
10. Click on Site Manager and enter the below details and click on the connect button.
- Host: Enter Server IP Address.
- Port: 22.
- Protocol: SFTP- SSH File transfer.
- User: Enter Newly Created User.
- Password: User Password.

11. If there is a message that says Directory listing of "/" successful, it means FTP is working fine.
That's all.