Differences
This shows you the differences between the selected revisions of the page.
2017-02-03 | 2017-02-03 | ||
no summary (58.68.14.26) (hidden) (untrusted) | Restored revision 1484326979. Undoing revisions 1486114645, 1486114681, 1486114720. (martin) (hidden) | ||
Line 3: | Line 3: | ||
Recently, [[https://blogs.msdn.microsoft.com/powershell/2015/10/19/openssh-for-windows-update/|Microsoft has released]] an early version of [[https://github.com/PowerShell/Win32-OpenSSH|OpenSSH for Windows]]. You can use the package to set up an SFTP/SSH server on Windows. | Recently, [[https://blogs.msdn.microsoft.com/powershell/2015/10/19/openssh-for-windows-update/|Microsoft has released]] an early version of [[https://github.com/PowerShell/Win32-OpenSSH|OpenSSH for Windows]]. You can use the package to set up an SFTP/SSH server on Windows. | ||
- | Test | + | ===== Installing SFTP/SSH Server ===== |
+ | |||
+ | * Download the latest [[https://github.com/PowerShell/Win32-OpenSSH/releases/|OpenSSH for Windows binaries]] (package ''OpenSSH-Win32.zip'') | ||
+ | * Extract the package to a convenient location (we will use ''C:\openssh'' in this guide) | ||
+ | * As the Administrator, install SSHD and ssh-agent services: \\ ''powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1'' | ||
+ | * Generate server keys by running the following commands from the ''C:\openssh'': <code> | ||
+ | .\ssh-keygen.exe -A | ||
+ | </code> | ||
+ | * Open a port for the %%SSH%% server in Windows Firewall: | ||
+ | * Either run the following PowerShell command (Windows 8 and 2012 or newer only), &win8 &win2012 as the Administrator: \\ ''New-NetFirewallRule -Protocol %%TCP%% -LocalPort 22 -Direction Inbound -Action Allow -DisplayName %%SSH%%'' | ||
+ | * or go to //Control Panel > System and Security > Windows Firewall > Advanced Settings > Inbound Rules// and add a new rule for port 22. &wincp | ||
+ | * To allow a public key authentication, as an Administrator, from ''C:\openssh'', run: \\ ''powershell.exe -ExecutionPolicy Bypass -File install-sshlsa.ps1'' \\ and restart the machine | ||
+ | * In ''C:\openssh\sshd_config'' locate a ''Subsystem sftp'' directive and change the path to ''sftp-server'' to its Windows location: \\ ''Subsystem sftp C:\openssh\sftp-server.exe'' | ||
+ | * Start the service and/or configure automatic start: | ||
+ | * Go to //Control Panel > System and Security > Administrative Tools// and open //Services//. Locate //SSHD// service. &wincp | ||
+ | * If you want the server to start automatically when your machine is started: Go to //Action > Properties//. In the Properties dialog, change //Startup type// to //Automatic// and confirm. | ||
+ | * Start the SSHD service by clicking the //Start the service//. | ||
//These instructions are partially based on [[https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH|the official deployment instructions]].// | //These instructions are partially based on [[https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH|the official deployment instructions]].// | ||
- | why you are keeping like this???? | + | ===== Setting up SSH public key authentication ===== |
+ | |||
+ | Follow a generic guide for [[guide_public_key|Setting up SSH public key authentication]] in *nix OpenSSH server, with following differences: | ||
+ | |||
+ | * Create the ''.ssh'' folder (for the ''authorized_keys'' file) in your Windows account profile folder (typically in ''C:\Users\username\.ssh''). &winpath | ||
+ | * Do not change permissions for the ''.ssh'' and the ''authorized_keys''. | ||
===== Connecting to the server ===== | ===== Connecting to the server ===== | ||
Line 33: | Line 55: | ||
* [[ssh_verifying_the_host_key|Verify the host key]] by comparing fingerprint with the one collected before (see above). | * [[ssh_verifying_the_host_key|Verify the host key]] by comparing fingerprint with the one collected before (see above). | ||
+ | ===== Further reading ===== | ||
+ | * Guide to [[guide_windows_ftps_server|Installing Secure FTP Server on Windows using IIS]]; | ||
+ | * Guide to [[guide_upload|uploading files to SFTP server]]; | ||
+ | * Guide to [[guide_automation|automating operations]] (including upload). | ||