How to Establish a Windows SSH Connection to a Linux Server (PuTTY, WSL, OpenSSH)
A reliable windows ssh connection is essential when you manage Linux servers from a Windows workstation.
In this guide, you will learn how to connect to a Linux server over SSH from Windows using three common methods:
the PuTTY SSH client, the built-in OpenSSH client (PowerShell / Command Prompt), and Windows Subsystem for Linux (WSL).
We will also cover basic troubleshooting tips and security best practices so your remote access is both stable and secure.
sshd) is already installed and running on your Linux server.If you are deploying a new host, you can follow our
Ubuntu 24.04 server installation guide first.
Table of Contents
- Prerequisites for a Windows SSH Connection
- Method 1 – Using PuTTY on Windows
- Method 2 – Using the Built-in OpenSSH Client (PowerShell / CMD)
- Method 3 – Using Windows Subsystem for Linux (WSL)
- Common SSH Connection Issues and Troubleshooting
- Security Tips for Your Windows SSH Connection
- Conclusion
Prerequisites for a Windows SSH Connection
Before you create a windows ssh connection to your Linux server, make sure you have the following:
- The public IP address or hostname of the Linux server.
- A username and password (or SSH key) with shell access.
- Port
22(or a custom SSH port) open in any firewalls between Windows and the server. - Administrative rights on your Windows machine to install software if needed.
you will not be able to establish a Windows SSH connection until the required port is opened.
Method 1 – Using PuTTY on Windows
PuTTY is one of the most popular SSH clients for Windows. It is lightweight, free, and widely used by system administrators.
1. Download PuTTY
- Go to the official website: PuTTY Download Page.
- Download the appropriate installer for your Windows architecture (64-bit in most cases).
2. Install PuTTY
- Run the downloaded installer.
- Follow the setup wizard and complete the installation using the default options.
3. Launch PuTTY
- Open the Start menu and search for PuTTY.
- Click the PuTTY icon to launch the configuration window.
4. Configure the SSH Session
- In the Host Name (or IP address) field, enter the IP or DNS name of your Linux server.
- Verify that the Connection type is set to SSH.
- Ensure the Port is
22, unless your server uses a custom port.
Host Name (or IP address): 203.0.113.10
Port: 22
Connection type: SSH5. Save the Session (Optional but Recommended)
- In the Saved Sessions box, enter a descriptive name such as
Prod-Web-Server. - Click Save so you can quickly reuse this Windows SSH connection later.
6. Open the SSH Connection
- Click Open to start the SSH session.
- On first connection, PuTTY will display a host-key security warning. Confirm the fingerprint with your provider and click Yes to trust the server.
7. Log In to the Linux Server
- When the terminal window appears, type your Linux username and press Enter.
- Enter your password (characters will not be shown) and press Enter again.
- You are now connected to the shell of your remote Linux host from Windows.
user@server:~$,confirming that your Windows SSH connection is working.
Method 2 – Using the Built-in OpenSSH Client (PowerShell / Command Prompt)
Modern versions of Windows 10 and Windows 11 ship with an optional OpenSSH client.
This allows you to create a windows ssh connection directly from PowerShell or Command Prompt without installing additional software.
1. Check if OpenSSH Client Is Installed
- Open Settings > Apps > Optional Features.
- Look for OpenSSH Client in the list. If it is missing, add it as a new optional feature.
2. Connect via PowerShell or Command Prompt
Launch PowerShell or Command Prompt and run:
ssh username@server_ip- Replace
usernamewith your Linux account name. - Replace
server_ipwith the server’s IP address or hostname.
Example:
ssh admin@203.0.113.10The first time you connect, Windows will ask you to confirm the host key fingerprint, similar to PuTTY.
Type yes and press Enter, then enter your password when prompted.
3. Using a Custom SSH Port
If your Linux server listens on a non-standard port, specify it with -p:
ssh -p 2222 admin@203.0.113.10Method 3 – Using Windows Subsystem for Linux (WSL)
If you prefer a full Linux user space on your desktop, Windows Subsystem for Linux (WSL) is an excellent option.
WSL lets you run native Linux tools on top of Windows and use the standard ssh client to reach your servers.
1. Install WSL
- Open PowerShell as Administrator and run:
wsl --install- Reboot if prompted and set up your preferred distribution (for example, Ubuntu).
2. Open Your WSL Distribution
- Launch Ubuntu or your chosen distribution from the Start menu.
- You will land in a Linux shell where the standard
sshclient is available.
3. Connect from WSL
From the WSL terminal, use the same SSH syntax as on any Linux machine:
ssh username@server_ipThis approach is ideal if you frequently manage multiple servers and want a Linux-like workflow while still working on a Windows desktop.
Common SSH Connection Issues and Troubleshooting
- Connection timed out: The server might be unreachable, the firewall may block port 22, or the IP address is incorrect.
- Connection refused: The SSH daemon (
sshd) may not be running, or the service is listening on a different port. - Permission denied: The username or password is wrong, or your SSH key is not authorized on the server.
Always double-check your credentials before repeatedly retrying a Windows SSH connection.
Security Tips for Your Windows SSH Connection
- Prefer SSH key-based authentication instead of simple passwords.
- Disable root logins over SSH where possible and use a regular user with
sudo. - Change the default SSH port from
22to a high, non-standard port if your policy allows it. - Restrict access using firewalls (Windows Defender, iptables, nftables, or a cloud security group).
- Monitor authentication logs (
/var/log/auth.logor/var/log/secure) for suspicious activity.
Conclusion
Setting up a robust windows ssh connection to your Linux infrastructure is a foundational skill for any system administrator or DevOps engineer.
By learning how to use PuTTY, the built-in OpenSSH client, and WSL, you gain multiple reliable options for managing servers from Windows.
Once your connectivity is stable and secure, you can move on to advanced tasks such as automated deployments, configuration management, and centralized monitoring.
Whether you are accessing a single VPS or an entire fleet of production servers, the methods in this guide help you establish
a repeatable, secure workflow for managing Linux systems directly from your Windows desktop.





