3 ways to fix ssh: Could not resolve hostname Name or service not known

Table of Contents

If you’ve been getting the error message “ssh: Could not resolve hostname Name or service not known,” don’t worry, you’re not alone.

This is a common problem that can be fixed in a few simple steps. In this blog post, we will discuss three ways to fix the ssh error message.

We will also provide instructions on how to troubleshoot this problem if it persists.

How to fix ssh: Could not resolve hostname Name or service not known

  • Check your ssh command syntax and make sure you type your command correctly.
  • Check your hostname exists in DNS and make sure the hostname can be resolved to the correct IP address.
  • Update your /etc/hosts file with an entry mapping the IP address of the server if necessary


Check your ssh command syntax

ssh is a secure shell client command used to connect to remote servers. The most basic syntax for the ssh command is:

ssh [options] user@server_hostname


ssh [options] user@ip_address

The user name is the name of the user you are logging in as, and the server name is the hostname or IP address of the remote server.

For example,

if the server hostname is “” and your user name on the server is “admin”, you would enter:


If you use the following command, you will get an error.

ssh admin@server

ssh: Could not resolve hostname server: Name or service not known

ssh command also supports different options. These options allow you to set up the connection in different ways.

For example, if you’re trying to establish an SSH connection from a Windows machine, then you could use the -p option to specify the port number for the server.

For example:

ssh -p 33

If you need to use a private key in the ssh command, then use the -i option to specify the path to your private key.

For example:

ssh -i /path/to/private_key

You can also mix these options like StrictHostKeyChecking together like the following example. Make sure you use the correct ssh command.

ssh -i bastion_dev.pem -o StrictHostKeyChecking=no -o ServerAliveInterval=30

Check your hostname and DNS record

If your syntax is correct, we need to check to make sure that the DNS record for your hostname is set up correctly, and if necessary try using the IP address of the server instead of its hostname.

We can use some commands like ping, dig, or nslookup to check the hostname and make sure that your hostname can be resolved by the DNS server.

For example, to check the hostname with the ping command:


If we get a response from this command, it means the DNS server is able to resolve the hostname, and your problem may be related to other factors.

We can also use nslookup or dig command to get more detailed information.

For example:




If these commands return errors related to the DNS server, then you may need to contact your ISP or hosting provider to help solve the problem.

Update your /etc/hosts file

If the hostname still can’t be resolved, you can try adding an entry in your local machine’s /etc/hosts file mapping the IP address of the server to its hostname.

For example, if the IP address of the server is, you would add the following line to your /etc/hosts file:

192.168 .1 .100

Save the file and try connecting again with ssh command. If it works then you know that the problem is related to your DNS server.

If you are still having trouble, check any firewalls or proxy servers that may be blocking access to the server and make sure they are configured correctly. If all else fails, contact the server’s administrator for assistance. is dedicated to providing comprehensive information on using Linux.

We hope you find our site helpful and informative.

Learn More


RHCSA Practice Exam

RHCSA Practice Exam A General Notes Here are some tips to ensure your exam starts with a clean environment: You do not need external servers

Read More »