With each new release of Windows 10, we see more and more useful tools being ported from Linux. First, we had the Windows Subsystem for Linux, which is awesome, and now we have a built-in OpenSSH client and server, which uses version 7.6p1 of OpenSSH.

With the April 2018 Update, the OpenSSH client is now installed by default works really well. Especially the client, as you no longer need to use a 3rd party SSH client such as Putty when you wish to connect to a SSH server.

For this article, we are going to focus on the OpenSSH Client because Windows does not need another method to gain remote access and configuring the Windows 10 OpenSSH Server deserves its own article.

First confirm that the OpenSSH client is installed by looking under the installed optional features. If it is installed, you will see it listed as shown below. If so some reason it is not installed, you can click on "Add a feature" to install it.

OpenSSH Client Installed
OpenSSH Client Installed

Using the Windows 10 OpenSSH Client

To use the OpenSSH client, simply open a command prompt and type ssh and press enter.  If the OpenSSH Client was properly installed, you will see the help file that displays all of the command line arguments. For information on what each command line argument means, you can reference this man page for SSH.

SSH command line arguments
SSH command line arguments

The current list of arguments are:

usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I pkcs11] [-i identity_file]
           [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
           [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]

To connect to a remote server you simply use the command line ssh [user]@[host]. For example, to connect to a test Ubuntu server I have setup, I would type ssh bleeping@ub-test. If it's your first time connecting to a particular SSH server it will display a host key fingerprint and ask you to confirm if you want to connect. If you type yes, this hosts's key will be saved in the %UserProfile%\.ssh\known_hosts file and you will not be asked again when you connect to the same server.

You will then be prompted to enter the password for the user account on the remote server that you are logging into as shown  below.

Login via SSH from Windows 10
Login via SSH from Windows 10

If you enter the correct password, you will be logged into the remote server and presented with a shell.

Logged into SSH Server
Logged into SSH Server

When you are done using the remote server and would like to disconnect the SSH session, simply type exit and press enter. You will then be logged out, the SSH client will state "Connection to [server] closed.", and you can close the command prompt.

Other programs included with the OpenSSH Client include scp.exe and sftp.exe. These executables are located in the C:\Windows\System32\OpenSSH folder.


Updated 5/15/18: Updated article to include info that it is installed by default with the April 2018 Update.

Related Articles:

Erratic Windows 10 Bug Breaks Changing of Default File Associations

Microsoft Bug is Deactivating Windows 10 Pro Licenses and Downgrading to Home

Microsoft Releases Info on Protecting BitLocker From DMA Attacks

Libssh CVE-2018-10933 Scanners & Exploits Released - Apply Updates Now

Windows Defender Bug Needs a Restart, Not Shutdown, To Enable Sandbox