Differences

This shows you the differences between the selected revisions of the page.

2018-05-19 2018-06-13
Restored revision 1521490334. Undoing revision 1526693203. (martin) (hidden) Windows 10 version 1803 has openssh built in (as optional feature) + new service name + matching firewall rule name (martin)
Line 4: Line 4:
===== Installing SFTP/SSH Server ===== ===== Installing SFTP/SSH Server =====
 +
 +==== On Windows 10 version 1803 and newer ====
 +
 +  * In //Settings// app, go to //Apps > Apps & features > Manage optional features//.
 +  * Locate //"OpenSSH server"// feature, expand it, and select //Install//.
 +
 +Binaries are installed to ''%WINDIR%\System32\OpenSSH''. Configuration file (''sshd_config'') and host keys are installed to ''%ProgramData%\ssh'' (only after the server is started for the first time).
 +
 +You may still want to use the following manual installation, if you want to install a newer version of OpenSSH than the one built into Windows 10.
 +
 +==== On earlier versions of Windows ====
  * Download the latest [[https://github.com/PowerShell/Win32-OpenSSH/releases|OpenSSH for Windows binaries]] (package ''OpenSSH-Win64.zip'' or ''OpenSSH-Win32.zip'') &win32 &win64   * Download the latest [[https://github.com/PowerShell/Win32-OpenSSH/releases|OpenSSH for Windows binaries]] (package ''OpenSSH-Win64.zip'' or ''OpenSSH-Win32.zip'') &win32 &win64
  * As the Administrator, extract the package to ''C:\Program Files\OpenSSH''   * As the Administrator, extract the package to ''C:\Program Files\OpenSSH''
  * As the Administrator, install //sshd// and //ssh-agent// services: \\ ''powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1''   * As the Administrator, install //sshd// and //ssh-agent// services: \\ ''powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1''
 +
 +===== Configuring SSH server =====
 +
  * Allow incoming connections to %%SSH%% server in Windows Firewall:   * Allow incoming connections to %%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 -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22%%''+    * Either run the following PowerShell command (Windows 8 and 2012 or newer only), &win8 &win2012 as the Administrator: \\ ''%%New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22%%''
    * or go to //Control Panel > System and Security > Windows Firewall//((//Windows Defender Firewall// on Windows 10.))// > Advanced Settings > Inbound Rules// and add a new rule for port 22. &wincp     * or go to //Control Panel > System and Security > Windows Firewall//((//Windows Defender Firewall// on Windows 10.))// > Advanced Settings > Inbound Rules// and add a new rule for port 22. &wincp
  * Start the service and/or configure automatic start:   * Start the service and/or configure automatic start:
-    * Go to //Control Panel > System and Security > Administrative Tools// and open //Services//. Locate //sshd// service. &wincp+    * Go to //Control Panel > System and Security > Administrative Tools// and open //Services//. Locate //%%OpenSSH SSH Server%%// 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.     * 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//.+    * Start the //%%OpenSSH SSH Server%%// 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]].//
Line 27: Line 41:
===== [[connecting]] Connecting to the server ===== ===== [[connecting]] Connecting to the server =====
-Before the first connection, find out fingerprint of the server's ED25519 key by running ''%%.\ssh-keygen.exe -l -f "%ProgramData%\ssh\ssh_host_ed25519_key" -E md5%%'' from the ''C:\Program Files\OpenSSH'', as the Administrator (with PowerShell, use ''$env:ProgramData'' instead of ''%ProgramData%''): &winpath+Before the first connection, find out fingerprint of the server's ED25519 key by running ''%%.\ssh-keygen.exe -l -f "%ProgramData%\ssh\ssh_host_ed25519_key" -E md5%%'' from the OpenSSH installation folder (''%WINDIR%\System32\OpenSSH'' or ''C:\Program Files\OpenSSH''), as the Administrator (with PowerShell, use ''$env:ProgramData'' instead of ''%ProgramData%''): &winpath
<code> <code>
-C:\Program Files\OpenSSH>.\ssh-keygen.exe -l -f "%ProgramData%\ssh\ssh_host_ed25519_key" -E md5+C:\Windows\System32\OpenSSH>.\ssh-keygen.exe -l -f "%ProgramData%\ssh\ssh_host_ed25519_key" -E md5
256 MD5:0d:df:0a:db:b4:e9:f1:08:d5:59:2b:91:8e:08:1c:78 martin@example (ED25519) 256 MD5:0d:df:0a:db:b4:e9:f1:08:d5:59:2b:91:8e:08:1c:78 martin@example (ED25519)
</code> </code>

Last modified: by martin