I am trying to set up a VPN with a Raspberry Pi, and the first step is gaining the ability to ssh
into the device from outside my local network. For whatever reason, this is proving to be impossible and I haven't the slightest clue why. When I try to ssh
into my server with user@hostname
, I get the error:
ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known
However, I can log into the server with,
ssh user@[local IP]
The server is a Raspberry Pi Model B running the latest distribution of Raspbian and the machine I am trying to connect to it with is a Macbook Pro running Mavericks. ssh
was enabled on the Raspberry Pi when I set up Raspbian.
I have perused Stack Overflow for hours trying to see if anyone else had this problem and I have not found anything. Every ssh
tutorial I find says that I should just be able to set it up on the remote machine and log in from anywhere using a hostname, and I have never had success with that.
Recently I came across the same issue. I was able to ssh to my pi on my network, but not from outside my home network.
I had already:
Also, I set up port forward on my router for hosting a web site and I had even port forward port 22 to my pi's static IP for ssh, but I left the field blank where you specify the application you are performing the port forwarding for on the router. Anyway, I added 'ssh' into this field and, VOILA! A working ssh connection from anywhere to my pi.
I'll write out my router's port forwarding settings.
Port forwarding settings can be different for different routers though, so look up directions for your router.
Now, when I am outside of my home network I connect to my pi by typing:
Then I am able to input my password and connect.
I had the same problem: The address shown in Preferences -> Sharing -> Remote Login didn't work and I got a '... nodename nor servname provided, or not known'. However, when I manually edited the settings (in Preferences -> Sharing -> Remote Login -> edit) and enabled "Use dynamic global hostname", it suddenly worked.
This was happening to me when trying to access Github. The problem is that I was in the habit of doing:
git remote add <xyz> ssh:\\git@github.com......
But, if you are having this error from the question, removing
ssh:\\
may resolve the issue. It solved it for me!Note that you will have to do a
git remote remove <xyz>
and re-add the remote url withoutssh:\\
.If you need access to your VPN from anywhere in the world you need to register a domain name and have it point to the public ip address of your VPN/network gateway. You could also use a Dynamic DNS service to connect a hostname to your public ip.
If you only need to ssh from your Mac to your Raspberry inside your local network, do this: On your Mac, edit
/etc/hosts
. Assuming the Raspberry has hostname "berry" and ip "172.16.0.100", add one line:Now:
ssh user@berry
should work.Try this, considering your allowed ports. Store your
.pem
file in yourDocuments
folder for instance.To gain access to it now all you have to do is
cd [directory]
, which moves you to the directory of the allotted file. You can first typels
, to list the directory contents you are currently in: