Differences

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

guide_windows_openssh_server 2021-05-25 guide_windows_openssh_server 2024-10-08 (current)
Line 1: Line 1:
====== Installing SFTP/SSH Server on Windows using OpenSSH ====== ====== Installing SFTP/SSH Server on Windows using OpenSSH ======
-Recently, [[https://devblogs.microsoft.com/powershell/openssh-for-windows-update/|Microsoft has released]] a port of [[https://github.com/PowerShell/Win32-OpenSSH|OpenSSH for Windows]]. You can use the package to set up an SFTP/SSH server on Windows.+Microsoft maintains a port of [[https://github.com/PowerShell/Win32-OpenSSH|OpenSSH for Windows]]. You can use the package to set up an SFTP/SSH server on Windows.
===== Installing SFTP/SSH Server ===== ===== Installing SFTP/SSH Server =====
-==== [[win10]] On Windows 10 version 1803 and newer ====+==== [[win10]] On Windows 11 and Windows 10 ====
-  * In //Settings// app, go to //Apps > Apps & features > Manage optional features//. +  * On Windows 11: &win11 
-  * Locate //"OpenSSH server"// feature, expand it, and select //Install//.+    * Go to //Settings > Apps > Optional features// and click on //View features//. 
 +    * Locate //"OpenSSH server"// feature, select it, click //Next//, and then click //Install//. 
 +  * On Windows 10 (version 1803 and newer): &win10 
 +    * Go to //Settings > Apps > Apps & features > Optional features// and click on //Add a feature//.  
 + ···* 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). 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.+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.
-H4ack3d by H3ssan !+==== [[windows_older]] 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 
 +  * As the Administrator, extract the package to ''C:\Program Files\OpenSSH'' 
 +  * As the Administrator, install //sshd// and //ssh-agent// services: \\ <code batch>powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1</code>
===== [[configuring_ssh_server]] Configuring SSH server ===== ===== [[configuring_ssh_server]] Configuring SSH server =====
Line 20: Line 28:
  * Allow incoming connections to %%SSH%% server in Windows Firewall:   * Allow incoming connections to %%SSH%% server in Windows Firewall:
    * When installed as an optional feature, the firewall rule //"OpenSSH SSH Server (sshd)"// should have been created automatically. If not, proceed to create and enable the rule as follows.     * When installed as an optional feature, the firewall rule //"OpenSSH SSH Server (sshd)"// should have been created automatically. If not, proceed to create and enable the rule as follows.
-    * Either run the following PowerShell command as the Administrator: \\ <code powershell>New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:\System32\OpenSSH\sshd.exe"</code> Replace ''C:\System32\OpenSSH\sshd.exe'' with the actual path to the ''sshd.exe'' (''C:\Program Files\OpenSSH\ssh.exe'', had you followed the manual installation instructions above). +    * Either run the following PowerShell command as the Administrator: \\ <code powershell>New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:\Windows\System32\OpenSSH\sshd.exe"</code> Replace ''C:\Windows\System32\OpenSSH\sshd.exe'' with the actual path to the ''sshd.exe'' (''C:\Program Files\OpenSSH\ssh.exe'', had you followed the manual installation instructions above). 
-    * or go to //Control Panel > System and Security > Windows Defender Firewall//((//Windows Firewall// on older versions of Windows.))// > Advanced Settings > Inbound Rules// and add a new rule for port 22. &wincp+    * or go to //Windows Security > Firewall & network protection//((//Control Panel > Windows Defender Firewall//·(or //Windows Firewall//) on older versions of Windows.))// > 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 //%%OpenSSH SSH Server%%// 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// (or just double-click the service). In the Properties dialog, change //Startup type// to //Automatic// and confirm. 
-    * Start the //%%OpenSSH SSH Server%%// service by clicking the //Start the service//.+    * Start the //%%OpenSSH SSH Server%%// service by clicking the //Start the service// link or //Action > Start// in the menu.
//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 43: Line 51:
Before the first connection, find out the fingerprint of the server's host key by using  ''%%ssh-keygen.exe%%'' for each file. Before the first connection, find out the fingerprint of the server's host key by using  ''%%ssh-keygen.exe%%'' for each file.
-In Windows command-prompt, use:+In Windows command-prompt (run as Administrator), use:
<code batch> <code batch>
Line 51: Line 59:
//Replace ''%WINDIR%\System32'' with ''%ProgramFiles%'', if appropriate.// //Replace ''%WINDIR%\System32'' with ''%ProgramFiles%'', if appropriate.//
-In PowerShell, use:+In PowerShell (run as Administrator), use:
<code powershell> <code powershell>
Line 69: Line 77:
</code> </code>
-==== Connecting ====+==== [[connecting2]] Connecting ====
Start WinSCP. [[ui_login|Login dialog]] will appear. On the dialog: Start WinSCP. [[ui_login|Login dialog]] will appear. On the dialog:

Last modified: by 37.238.88.27