Establishing an SSH Connection to a Linux Server from Windows

Establishing an SSH Connection to a Linux Server from Windows

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.

Info: This tutorial assumes that the SSH service (typically 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

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.
Warning: If your hosting provider or on-prem firewall blocks SSH traffic,
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: SSH
  • 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.
Success: If your username and password are correct, PuTTY will drop you into a shell prompt such as 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 username with your Linux account name.
  • Replace server_ip with the server’s IP address or hostname.

Example:

ssh admin@203.0.113.10

The 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.10

Method 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 ssh client is available.

3. Connect from WSL

From the WSL terminal, use the same SSH syntax as on any Linux machine:

ssh username@server_ip

This 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.
Warning: Repeated failed login attempts from your Windows IP may trigger security tools such as fail2ban.
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 22 to 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.log or /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.

You May Also Like
secure ssh configuration changing default ssh port for linux and windows servers
Read More

How to Change the SSH Port

Why Change the Default SSH Port? Changing the default SSH port is a common security practice that helps…