Windows: ssh: Could not resolve hostname: No such host is known

Published by Nyau Wai Hoe - Updated on

Secure Shell (SSH) is super important for managing computers from far away because it lets us talk to them securely. In this article, we’re going to talk about a common boo-boo you might run into: “ssh: Could not resolve hostname [name]: No such host is known” or “Name or service not known”.

This happens when you’re trying to connect to an SSH server and it pops up both on Linux and Windows, like with Windows 11 or 10, and when using tools like PuTTY or Windows Subsystem for Linux (WSL or WSL2). There are a bunch of reasons why this might happen, and fixing it depends on what’s going on with your setup.

Windows 11 ssh Could not resolve hostname No such host is known

What does the error mean?

The error message “ssh: Could not resolve hostname [name]: No such host is known” or “Name or service not known” shows up when your SSH client on Windows can’t figure out the network address for the hostname you gave it. It’s like trying to call someone but their number isn’t in your phone.

This usually happens because of a mix-up in the Domain Name System (DNS) resolution, which means the system can’t connect the friendly hostname (like “server.example.com”) to its actual IP address. This is a common problem that can happen for lots of reasons, like if you mistyped the hostname or if there’s a bigger issue with the network.

Windows ssh Could not resolve hostname Name or service not known

How to correctly connect to an ssh server

Before we look into technical fixes, let’s start with some basic stuff you should check:

Correctness of the hostname

Mistakes happen, so double-check the hostname you’re trying to connect to. Make sure it’s spelled right and is actually the place you want to reach.

SSH command syntax

Make sure your SSH command looks right. It should be something like ssh username@hostname. Getting the command wrong can lead to problems, including the hostname issue.
How to correctly connect to an ssh server
Doing these checks first can save you a headache if the error was just a simple oversight.

Checking the DNS resolution

If the easy checks don’t fix it, the next thing to look at is DNS resolution:

Using nslookup or ping

Try using tools like nslookup [hostname] or ping [hostname] in Command Prompt to see if the hostname is being translated to an IP address. If these tools show an IP address, then DNS is working fine for that hostname. If not, there’s a DNS problem.
nslookup DNS in CMD Windows 11

Understanding DNS’s role

Think of DNS as the internet’s phonebook, turning names we can remember into IP addresses. If DNS can’t do its job, your SSH client won’t know where to go.

Checking DNS configuration

Make sure your computer’s DNS settings are right. Sometimes, switching to a different DNS server, like Google’s 8.8.8.8 or Cloudflare’s 1.1.1.1, fixes these problems.
Looking into these DNS things can often show you if that’s where the trouble is.
Pro tip: DNS Servers to Unblock Websites and Possibly Everything

Checking your network connectivity

Having a solid internet connection is crucial. Here’s how to make sure your network isn’t the problem:

  1. Check if you’re online by trying to visit a website or using ping 8.8.8.8 in Command Prompt.
  2. Look at your network settings to make sure everything’s set up right, like no IP conflicts or wrong gateway settings messing things up.
  3. If you’re using a VPN or proxy, it might be causing issues. See if turning it off helps.
  4. Turning off and on again your modem or router can fix temporary network problems.

Restart Router and Modem

Inspect the “hosts” file in Windows

Windows has a file called hosts that can make your computer go to specific IP addresses for certain hostnames. A wrong entry here could cause your SSH problem. Here’s how to check it:

  1. The hosts file lives at C:\Windows\System32\drivers\etc\hosts. You’ll need to be an admin to change it.
  2. Open the hosts file with Notepad (run as admin) and see if there’s anything about the hostname you’re struggling with. Wrong IP addresses here can mess things up.
  3. If you find something wrong, you can fix the IP address or just delete the entry to let DNS do its thing.
  4. Try your SSH connection again after fixing the hosts file to see if that was the problem.

ssh Could not resolve hostname Windows 11
A messed-up hosts file isn’t super common, but it’s worth checking, especially if you’ve changed server IPs recently or use the hosts file a lot.

Firewall and security software

Sometimes, Windows Firewall or other security apps can block SSH connections. First, check your Windows Firewall settings. Look for rules that might be stopping SSH connections (usually on port 22). If you find any, try turning them off to test the connection. But don’t forget to turn them back on afterward!

Checking Firewall rules in Windows 11
If you have antivirus or other security software, it might have its own settings blocking SSH. Turning these off for a bit can help see if they’re the issue. Just like with the firewall, remember to turn them back on after checking.

Related resource: Using PowerShell to Test Port Connection Without Telnet

Using IP Addresses directly

If you skip using hostnames and go straight for the IP address in your SSH command, you can figure out if the DNS stuff is causing your headache. Use ssh username@IP_Address instead of the hostname. If it works, it’s a DNS issue.
SSH in Windows using IP Address
This is a quick test, but usually, it’s easier to remember and manage hostnames, especially if IP addresses change.
Might be useful: Using FTP via Command Line (CMD) on Windows 11

SSH client configuration and logs

If you’re still stuck, check your SSH client’s settings and logs for clues. For Windows’ built-in SSH or any third-party client, make sure everything’s set up right.
SSH client configuration Putty Windows 11
For logs, add -vvv to your SSH command for more details. This can help figure out exactly where things are going wrong.

how to debug ssh could not resolve hostname Windows 11

It might just be a server-side issue

Don’t forget to think about the server-side too. Make sure the SSH server is up and running and check its firewall settings. Also, if the server’s IP has changed recently, DNS might not have caught up yet.

Checking these things on the server side can help make sure the problem isn’t over there.

Summing up

Running into the “ssh: Could not resolve hostname” error isn’t fun, but often, the fix is something simple. Check the basics first, like typos and your DNS settings. These simple steps can often solve the problem.

Take it one step at a time, and if you’re still stuck, there’s plenty of help out there from network pros and online communities.


Nyau Wai Hoe
Nyau Wai Hoe is the Founder and Chief Editor of WindowsDigitals.com. With a degree in software engineering and over 12 years of experience in the tech support industry, Nyau has established himself as an expert in the field, with a primary focus on the Microsoft Windows operating system. As a tech enthusiast, he loves exploring new technologies and leveraging them to solve real-life problems.

Share via
Copy link