0

I've got a Raspberry Pi Zero V1.2 that is plugged into a powered USB hub that in turn is plugged into my router via Ethernet cable. (Basically like this.)

On my desktop computer, running Arch Linux, when I try running ssh pi@raspberrypi to connect to the Pi, I get this error: ssh: Could not resolve hostname raspberrypi: Name or service not known.

On the Pi, when I run hostname or cat /etc/hostname, the output is raspberrypi.

And here's the output of cat /etc/hosts:

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.1.1       raspberrypi

On my Arch Linux computer, I can connect to the Pi Zero using its IP address on my network by running ssh [email protected].

What must I do to SSH into my Pi using its hostname too?

update

The output of cat /etc/hosts on my Arch machine is this...

# Static table lookup for hostnames.
# See hosts(5) for details.
10
  • 1
    Can you get to the Pi via ssh [email protected]? Is the Arch box running Avahi - if not load that onto the Arch box. Does you router have a setting for the domain - if so check that is set to local.
    – user115418
    Commented Aug 3, 2020 at 19:05
  • Running ssh [email protected] on my Arch Linux computer gets the same error. I've got the avahi package already installed on my Arch Linux. I'm not sure exactly what you mean about my router. But when I navigate to 192.168.1.1 in my browser and log into the router, then click "Attached devices" I see a table showing the Pi's IP address, device name and MAC address,
    – Username
    Commented Aug 3, 2020 at 22:05
  • the quick and dirty method is to add an entry to the /etc./hosts file on the arch box for the pi. Commented Aug 4, 2020 at 11:30
  • or create an ssh config file on arch an use the server alias to call it by name Commented Aug 4, 2020 at 15:30
  • It sounds like the Arch Linux box is not "playing ball". If your router's table of DHCP leases contains a valid correct entry, and Arch is configured to check the router for DNS, it should work. Can you ssh from your RPi to the Arch box?
    – Seamus
    Commented Aug 4, 2020 at 19:35

2 Answers 2

2
+50

Make sure your hostname files are setup correctly on BOTH ends:

Pi /etc/hosts:

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.1.1       raspberrypi

Arch (SSH Client) /etc/hosts:

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

[Pi WLAN/LAN IP] raspberrypi

Your Pi is likely to be 192.168.0.[something] or 10.0.1.[something]

This is only particularly useful if you have a static IP for your Pi.

What I recommend instead of Hostnames for SSH...

Is using the ~/.ssh/config file:

In the ~/.ssh/config file:

host RasPi
    user pi
    hostname 192.168.0.[Pi IP]

This will be more useful for the purpose of SSH, and it much more useful (in my opinion) when you start to do more fancy things with SSH (Proxy jump, Port Forward, Local/External IP matching)

Another thing that I have seen:

Some people recommend using Bonjour for Hostname resolution. So you can look into that if you want Hostname resolution on WLAN/LAN.

Hope this helps!

3
  • Updated my question to include output of cat /etc/hosts on my Arch machine. Will this affect how I implement your proposed solution?
    – Username
    Commented Aug 8, 2020 at 21:28
  • Sorry, I may have been a little unclear. The suggested Pi and SSH client files should be the /etc/hosts files, not the /etc/hostname files. I will edit my answer.
    – Awbmilne
    Commented Aug 9, 2020 at 12:01
  • Actually your answer worked. I went with the ~/.ssh/config solution
    – Username
    Commented Aug 10, 2020 at 2:35
-1

The normal (i.e. non Windows) operation of Zero-conf uses the .local "domain".

This is a function of your local network and source computer as Raspberry Pi OS has Zero-conf enabled by default.

Occasionally caching prevents Zero-conf resolution and the only cure I have found is to restart all network devices although pinging sometimes refreshes the arp cache.

Try raspberrypi.local

1
  • I ran ssh [email protected] on my Arch Linux machine but got this error: Could not resolve hostname raspberrypi.local: Name or service not known
    – Username
    Commented Aug 3, 2020 at 22:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.