[Solved] How to fix "sudo: unable to resolve host (none)" on Linux Ubuntu or Debian


If you are a Linux user, you might have encountered the error “sudo: unable to resolve host (none)” while trying to run a command with sudo privileges. This error can be quite annoying and in this article, we will discuss how to fix this error on Linux Ubuntu or Debian systems. By following these steps, you should be able to get rid of this error and be able to run your command with sudo privileges without any issues.

What causes this error ?

First, let’s take a look at what the error message actually means. When you use the sudo command, it contacts the sudo server to validate your user credentials. Part of this process involves resolving the hostname of your machine. If the server is unable to resolve the hostname, it will return the “sudo: unable to resolve host” error.

There are a few potential causes of this error. The most common is that your machine is not connected to the network and thus cannot resolve its own hostname. If you’re running sudo on a local machine with no network connection, this is likely the cause.

Another potential cause is that your /etc/hosts file is not configured correctly. This file should contain a mapping of IP addresses to hostnames for your machine. If the file is empty or does not contain an entry for your machine’s IP address, sudo will be unable to resolve the hostname.

Finally, it’s possible that your DNS server is not configured correctly. If you’re using a public DNS server like Google DNS or OpenDNS, this is unlikely to be the case. However, if you’re using a private DNS server, it’s possible that the server is not configured to resolve hostnames on your network.

If you’re not sure which of these is the cause of the error, you can try each of them in turn. First, try reconnecting to the network if you’re not already connected. If that doesn’t work, check your /etc/hosts file and make sure it contains an entry for your machine’s IP address. If that still doesn’t work, try changing your DNS server to a public one like Google DNS or OpenDNS

Configuring your hosts file.

The most common fix to resolve the “sudo: unable to resolve host (none)” error, is to edit the hosts configuration file. You can use any text editor, but for this example, we will use nano. Open an SSH connection to your Ubuntu Server or open the terminal app if you are using Ubuntu desktop and run the command:

sudo nano /etc/hostname

This will open the file in the nano text editor. You will see the current hostname of the machine listed in this file. To change the hostname, simply delete the old hostname and type in the new one. Once you have made your changes, press Ctrl+X to exit the file. Nano will ask you if you want to save your changes, so press Y for yes.

Now that you have updated the /etc/hostname file, you need to update the /etc/hosts file. This file contains a mapping of IP addresses to hostnames. You need to add your new hostname to this file so that your computer can resolve the hostname to an IP address.

To edit the /etc/hosts file, you can again use the nano text editor.

sudo nano /etc/hosts

Scroll down to the bottom of the file and you will see a line that looks like this: old-hostname

Change old-hostname to your new hostname. Once you have made your changes, press Ctrl+X to exit the file. Nano will ask you if you want to save your changes, so press Y for yes.

You have now successfully changed the hostname of your machine. You can verify this by running the hostname command.


You should see your new hostname printed out.


So, that’s it. I hope this article was helpful in solving the “sudo: unable to resolve host (none)” error on your Linux Ubuntu computer or Debian-based PC. I hope that this tutorial has been informative and i would like to thank your for reading it.