How to edit /etc/hosts without sudo?

14,742

Solution 1

You don't need sudo to fix that, try pkexec,

pkexec nano /etc/hosts
pkexec nano /etc/hostname

After running pkexec nano /etc/hosts, add your new hostname in the line that starts with 127.0.1.1 like below,

127.0.0.1   localhost
127.0.1.1   your-hostname

And also don't forget to add your hostname inside /etc/hostname file after running pkexec nano /etc/hostname command,

your-hostname

Restart your PC. Now it works.

Solution 2

You need sudo or root privileges to edit the /etc/hosts file in your local host. If you don't, there is no way of editing this file.

Then you must add an entry to /etc/hosts so that your local host can resolve properly the hostname of the remote host.

This is the format of the lines in /etc/hosts

127.0.0.1   localhost.localdomain   localhost
10.10.2.9   remotehost.labs         remotehost
Share:
14,742

Related videos on Youtube

evamvid
Author by

evamvid

Updated on September 18, 2022

Comments

  • evamvid
    evamvid over 1 year

    I have a machine that I can only access using SSH.

    I was messing with the hostnames, and now it says:

    ssh: unable to resolve hostname
    

    I know how to fix it in /etc/hosts.

    Problem is, I need sudo to fix them because my normal account doesn't have permissions.

    What's the best way to fix the hosts?

  • evamvid
    evamvid about 10 years
    I'm a little confused. What exactly does pkexec do? Also when I ran it on the hosts file, it showed up with a blank doc. When I saved, did I overwrite what was there?
  • Avinash Raj
    Avinash Raj about 10 years
    pkexec allows an authorized user to execute PROGRAM as another user. If username is not specified, then the program will be executed as the administrative super user, root.
  • evamvid
    evamvid about 10 years
    So it's like a backup/fake sudo? Awesome!
  • evamvid
    evamvid about 10 years
    And, I'm not sure why it showed blank, but it seems to have worked -- now I'm trying to fix the actual hosts problem
  • Avinash Raj
    Avinash Raj about 10 years
    Yes, try to fix that. You said "I know how to fix it in /etc/hosts and /etc/hostname"
  • evamvid
    evamvid about 10 years
    I thought I did, but apparently I didn't =)
  • mavillan
    mavillan about 10 years
    Anyway, pkexec needs to authenticate the user to execute the command before running it