Introduction: Raspberry Pi Online SSH (easy Way)
Raspberry pi is a mini computer that can be carried easily. Usually people use Raspberry Pi as an embedded platform. And mostly people control or developing something with their Raspberry Pi using SSH protocol. because it much more simple and doesn't take many space. Some people also already use their raspberry pi as an IOT platform. The IOT platform could be located far away from ourselves and if there's an error we need to debug the raspberry pi from a long distance. In this tutorial I will show you you can ssh your Raspberry Pi from anywhere in the world.
Step 1: Setting It Up
I hope you guys already know how to setup a raspberry pi and connect it to the internet.
If you don't know there tons of tutorial here in instructables or in google.
here is one of them:
https://www.raspberrypi.org/help/noobs-setup/
For this tutorial I use Raspbian OS because it is the most common OS used for the raspberry pi
If you manage to reach the raspberry pi terminal then we are ready to go to the next step
Step 2: Putty or Any SSH Client
Windows user cannot use SSH directly to a linux machine. You need an SSH client to do that.
You can download a simple ssh client called putty here:
http://www.chiark.greenend.org.uk/~sgtatham/putty/...
Once you done download putty. get back to the raspberry pi terminal and type:
$ifconfig
That command will show you Raspberry Pi's IP address.
Open putty choose SSH and then enter the Raspberry Pi's local IP address then click open.
Now you don't need a monitor for the raspberry pi anymore. you can control it using your PC or laptop.
Step 3: Ngrok
Ngrok is secure tunnelling platform to make your device online. With this plaftorm you can make your web aplication or any aplication goes online with a very simple way.
To use Ngrok you need to download ngrok application to your raspberry pi. and to do that use the following command:
pi@raspberry~$sudo wget https://dl.ngrok.com/ngrok_2.0.19_linux_arm.zip
and then unzip it using:
pi@raspberry~$unzip ngrok_2.0.19_linux_arm.zip
That it, that's the whole installation process. now you can use ngrok. To try using ngrok. if you have a web server/application that already active in certain port (for example:80) then use the following
pi@raspberry~$./ngrok 80
Now your web app can be access online from any where
Step 4: Online SSH
at ngrok website go to:
https://dashboard.ngrok.com/user/login
and then click sign up to get an authtoken key. this token is necessary if you want your own custom domain doing an online SSH
after you manage to login you will get an authtoken key which a combination of a lot character.
You need to embed this token to your raspberry pi using:
pi@raspberrypi~$./ngrok yourauthtoken
change the yourauthtoken with your own key that you get from ngrok website. You only need to this once for your raspberry pi.
now you can make your raspberry pi system to be controlled online using
pi@raspberrypi~$./ngrok tcp 22
If your tunnel status is online the congratulations now you can open your raspberry pi terminal anywhere.
To open SSH online first open a new putty from any computer that connected to the internet. then enter your ngrok address and port like in the picture
Step 5: Summary
With tutorial I hope you can solve a few problem regarding controlling the raspberry pi online.
I use this setup daily to debug my cctv camera in my house from my office while trying another home automation setup.
Best Regards
Hendra