SSH-client via internet

In deze tutorial laat ik zien hoe je een SSH-client zoals PuTTY via het internet met de Raspberry Pi kunt verbinden. Dit kan erg handig zijn als je bijvoorbeeld vanuit huis de Raspberry Pi op het clubhuis van je vereniging wilt beheren. De hoofdmoot van deze tutorial is het forwarden van de SSH-poort van de Raspberry Pi. In 5 stappen leg ik uit hoe je een Raspberry Pi via het internet kunt beheren.

Ik ga ervan uit dat je SSH in de Raspberry Pi reeds geconfigureerd hebt. Vanuit de desktop, via Voorkeuren -> Raspberry Pi Configuratie programma, tabblad Interfaces. Of via de terminal met het commando:

sudo raspi-config

Ga vervolgens naar Interface Options en selecteer SSH.

Stap 1 – IP adres vaststellen

Allereerst hebben we het IP-adres van de betreffende Raspberry Pi nodig. In verband met het forwarden van een IP-adres gaat de voorkeur uit naar een vast IP-adres. Hier beschrijf ik hoe je dit instelt. Om het IP-adres van de Raspberry Pi op te vragen geeft je het volgende commando in:

ifconfig

De Raspberry Pi heeft binnen mijn netwerk de IP-adressen 192.168.0.43 (ethernet) en 192.168.0.93 (WiFi).

Stap 2 – Portforwarden

Mijn ISP is Ziggo. Om in de router te komen tik ik in het browser adresbalk het volgende adres in

192.168.0.1

Log vervolgens in. Als het goed is opent zich nu het http-venster van de router. In mijn geval ga ik naar Geavanceerd en Portforwarding. Hier geef je het (LAN) IP-adres op en de poort (22) zoals deze geforward moeten worden. Selecteer TCP voor het protocol.

Stap 3 – Wat is mijn WAN IP-adres?

Er zijn een paar manieren om je WAN (internet) IP-adres vast te stellen. Een eenvoudige manier om hierachter te komen is via de website:

whatismyipaddress.com

Omdat ik een VPN gebruik en deze momenteel op Cyprus gericht heb, lijkt het erop dat ik me in Nicosia bevind. Gebruik je geen VPN dan zal je je echte IP-adres zien. In mijn geval is mijn IP-adres 185.191.206.21.

Mijn virtuele IP-adres.

Stap 4 – Kan poort 22 vanaf het internet benaderd worden?

Soms worden poorten door de provider geblokkeerd. SSH gebruikt poort 22. We moeten nu testen of je vanaf het internet deze poort kunt benaderen. Ga hiervoor naar:

https://canyouseeme.org/

In het venster staat je IP-adres al ingevuld en de poort staat standaard op 80, logisch want je benadert de site middels HTTP (poort 80). Je ziet ook een kort overzicht van de belangrijkste poorten. Vul 22 in om de poort te controleren en klik op Check Port.

Poort 22 wordt door mijn provider niet geblokkeerd.

Let op! Veel VPN aanbieders blokkeren poorten vanwege veiligheid. Mocht dit bij jou het geval zijn, zet dan (tijdelijk) je VPN uit en test opnieuw.

Stap 5 – SSH over het internet

Start nu PuTTY of een andere SSH terminal op. Geef bij hostname jouw WAN IP-adres op zoals we dit hierboven gebruikt hebben, in mijn geval dus: 185.191.206.21. Ik heb er pi@ voorgezet, dat scheelt straks het ingeven van de gebruikersnaam, je kunt het net zo goed weglaten. Klik op Open.

Als alles goed gegaan is, maakt de SSH-client (PuTTY) via het internet verbinding met de Raspberry Pi waarvan je het LAN IP-adres in je router hebt geforward. Je kunt nu lekker je gang gaan.

SSH-client via het internet

Tip: Voordat je de verbinding afsluit is het raadzaam de Raspberry Pi te rebooten met:

sudo reboot

Have A Nice Day!