Als je thuis een Raspberry Pi hebt draaien en je van buitenaf ermee wilt verbinden, dan moet je normaal gesproken wat zaken in je netwerk configureren. Met Raspberry Pi Connect is dat verleden tijd. Deze dienst geeft je eenvoudig van overal toegang tot je Raspberry Pi’s. Je kunt niet alleen via de opdrachtregel inloggen, maar ook op afstand een desktopsessie met grafische applicaties draaien. En dat gewoonweg in je browser. In dit artikel nemen we de mogelijkheden onder de loep.
Stel dat je een Raspberry Pi thuis hebt draaien met enkele services die je ook op afstand wilt beheren of troubleshooten. Dan zou je via het SSH-protocol (Secure Shell) kunnen inloggen om een opdrachtregel te openen. Of stel dat je vanaf iedere plek toegang wilt hebben tot de programma’s in de desktopomgeving van Raspberry Pi OS. Dan zou je een VNC-verbinding (Virtual Network Computing) naar het computertje kunnen opzetten.
Dat kan allemaal, maar je moet er traditioneel wel wat voor configureren aan je netwerk. De meeste internetproviders bieden consumenten geen vast ip-adres aan, dus je hebt al een dynamisch DNS-adres nodig dat bij elke wijziging van je ip-adres een update krijgt. Bovendien moet je ook de juiste poorten (voor SSH en/of VNC) op je modem forwarden naar je Raspberry Pi. Om ervoor te zorgen dat die poorten naar de correcte locatie worden doorgestuurd, moet je op het minicomputertje ook nog eens een statisch ip-adres instellen of in de DHCP-server van je interne netwerk (waarschijnlijk op je router) een vaste ip-reservering toekennen. Voor velen is dit behoorlijk ingewikkeld en omslachtig.
De makers van de Raspberry Pi hebben hiervoor een oplossing ontwikkeld: Raspberry Pi Connect. Deze oplossing bestaat aan de ene kant uit software die je op je Raspberry Pi installeert en aan de andere kant uit de website https://connect.raspberrypi.com. Je hoeft je alleen maar aan te melden op deze website om via een versleutelde verbinding met je Raspberry Pi te communiceren, grafisch of in een terminalsessie.
Connect geeft je van overal toegang tot je Raspberry Pi’s
1 Connect installeren
Open een terminalvenster op je Raspberry Pi of log in via SSH. Werk dan met de eerste opdracht de pakketbronnen bij en update met de tweede opdracht alle pakketten:
sudo apt update
sudo apt full-upgrade
Wanneer alle pakketten up-to-date zijn, installeer je Raspberry Pi Connect. Voor dit programma bestaan er twee pakketten. De volledige versie ondersteunt zowel inloggen op een terminalvenster als werken in de grafische interface. Je installeert deze versie met de opdracht:
sudo apt install rpi-connect
Wil je alleen een terminalsessie openen, bijvoorbeeld omdat je geen grafische interface op de Raspberry Pi draait, dan installeer je de lite-versie van Connect. Die installeer je met de opdracht:
sudo apt install rpi-connect-lite
Na de installatie is de systemd-service van Raspberry Pi Connect ingeschakeld als gebruikersdienst. Dat wil zeggen dat die service vanaf nu elke keer automatisch opstart wanneer je je met je gebruikersnaam aanmeldt. Meld je nu dus af en weer opnieuw aan om de systemd-service te starten of start hem deze ene keer handmatig met de opdracht:
systemctl --user start rpi-connect
Vaak wil je ook op afstand op je Raspberry Pi inloggen als je gebruiker nog niet of niet meer is aangemeld. Schakel daarom ‘user lingering’ in met de opdracht:
loginctl enable-linger
Doe je dat niet, dan zal na een herstart van de Raspberry Pi de systemd-service niet meer starten tot je lokaal inlogt en is de Raspberry Pi dus ook niet meer op afstand bereikbaar via Connect.
2 Raspberry Pi-ID
De website https://connect.raspberrypi.com vereist een Raspberry Pi-ID, het account voor alle diensten van Raspberrypi.com. Dat account maak je gratis aan: vul je e-mailadres, een wachtwoord en je naam in. Met twee vinkjes geef je aan dat je akkoord gaat met de algemene voorwaarden en dat je een mens bent.
Klik op Continue en klik daarna op de verificatielink die je per e-mail ontvangt. Vanaf nu kun je je op https://connect.raspberrypi.com aanmelden met je Raspberry Pi-ID.
Aangezien je via je Raspberry Pi-ID toegang krijgt tot je Raspberry Pi’s, is het belangrijk dat je dat account goed afschermt. Kies dus een sterk wachtwoord. Laat dit bij voorkeur door je wachtwoordbeheerder genereren, zodat het lang genoeg is en uit willekeurige tekens bestaat. Als je naar je profiel van Raspberry Pi-ID gaat, kun je daar ook tweefactorauthenticatie inschakelen. We raden dit sterk aan.
De Raspberry Pi-ID is je account voor Connect en toekomstige diensten.
3 Koppel je Raspberry Pi (grafisch)
Elke Raspberry Pi waartoe je toegang wilt krijgen, moet je eerst aan Connect koppelen. Heb je de volledige versie van Connect geïnstalleerd (zie paragraaf 1), dan verschijnt er in de statusbalk bovenaan rechts van de grafische interface een grijs icoontje van een cirkel met twee vierkantjes.
Klik op dit icoontje en vervolgens in het menu dat verschijnt op Sign in. Dit opent een verificatielink in de browser op je Raspberry Pi. Meld je op die pagina aan met je Raspberry Pi-ID en geef je apparaat een naam. Klik op Create device and sign in.
Het icoontje in de statusbalk bovenaan wordt nu blauw, waarmee je weet dat je apparaat met Connect is verbonden. Je krijgt ook een e-mail ter bevestiging dat je apparaat met je account is verbonden. Als je op het icoontje klikt, bevat het menu opties om van je account af te melden (waarna je Raspberry Pi niet meer op afstand bereikbaar is) en om de toegang tot je grafische desktop (scherm delen) en terminalsessie (shell op afstand) individueel in of uit te schakelen.
De status van Raspberry Pi Connect is altijd zichtbaar in de statusbalk bovenaan.
4 Koppel je Raspberry Pi (opdrachtregel)
Wanneer je Raspberry Pi OS Lite draait en dus geen grafische interface hebt, dien je de verificatielink op de opdrachtregel aan te vragen. Dat doe je met de opdracht:
rpi-connect signin
Je krijgt dan een link te zien die je moet bezoeken, in de vorm https://connect.raspberrypi.com/verify/XXXX-XXXX. Dat kan met elk willekeurig apparaat, dus doe het gerust op je computer. Meld je op die pagina aan met je Raspberry Pi-ID en geef je apparaat een naam. Klik op Create device and sign in.
Je kunt op elk moment de status van de Connect-service opvragen met de opdracht:
rpi-connect status
Hiermee zie je of je Raspberry Pi met Connect is gekoppeld en of het delen van je scherm en de terminalsessie op afstand zijn ingeschakeld. Wil je ooit een gekoppelde Raspberry Pi van jouw account afmelden, dan kan dat met deze opdracht (waarna die Raspberry Pi niet meer op afstand bereikbaar is):
rpi-connect signout
De toegang tot een terminalsessie of het delen van een scherm via Connect schakel je eenvoudig uit met een van deze opdrachten:
rpi-connect shell off of
rpi-connect vnc off
Weer inschakelen doe je door off te vervangen door on in dezelfde opdrachten.
5 Terminalsessie op afstand
Als je nu in een browser naar https://connect.raspberrypi.com gaat, vanaf welke locatie dan ook, zie je de zojuist gekoppelde Raspberry Pi in de lijst met apparaten. Eronder zie je in grijze kadertjes welke verbindingsmogelijkheden beschikbaar zijn: Screen sharing (een grafische desktop via VNC) en/of Remote shell (een terminalsessie via SSH).
Klik op de knop Connect via en kies dan Remote shell. Je browser opent een nieuw venster. Na een korte wachttijd ben je verbonden met de Raspberry Pi en krijg je een opdrachtregel te zien alsof je lokaal met toetsenbord en beeldscherm werkt. Je hoeft zelfs geen wachtwoord in te voeren.
Je kunt nu allerlei opdrachten uitvoeren. Met de opdracht exit of door het browservenster te sluiten, sluit je een terminalsessie weer af. Houd er wel rekening mee dat het afsluiten van de terminalsessie alle opdrachten beëindigt die je op dat moment hebt draaien, tenzij het om services gaat. Als je opnieuw via Connect aanmeldt, wordt er een nieuwe terminalsessie opgestart. Wil je dat opdrachten blijven draaien nadat je je afmeldt of wil je vanaf verschillende locaties toegang tot dezelfde terminalsessie, gebruik dan een zogenoemde terminal multiplexer, zoals screen of tmux.
Open op afstand een terminalsessie op je Raspberry Pi vanuit je browser.
6 Delen van je scherm
Als je op https://connect.raspberrypi.com achter de Raspberry Pi op Connect via klikt en dan kiest voor Screen sharing, opent je browser een nieuw venster waarin de desktopomgeving van deze Raspberry Pi verschijnt. Je kunt hier nu op werken alsof je voor je Raspberry Pi zit met een toetsenbord, muis en beeldscherm. Het verschil met de vorige manier is dat hier niet een nieuwe sessie wordt opgestart: je krijgt de desktop te zien met de programma’s die al open waren en kunt dus gewoon op afstand doorwerken in een sessie waarop je thuis was aangemeld.
Het icoontje van Connect krijgt in de statusbalk een paarse achtergrondkleur om aan te geven dat je scherm wordt gedeeld. In het browservenster heb je bovenaan rechts twee knoppen voor het gedeelde klembord. Met Copy from remote kopieer je het klembord van de Raspberry Pi, zodat je de tekst op je computer kunt plakken. Met Paste to remote plak je de inhoud van het klembord van de computer waarachter je nu zit naar de Raspberry Pi.
Met de knop Disconnect bovenaan links verlaat je de sessie, maar die sessie blijft wel actief. De programma’s die openstonden, blijven dus draaien. En wanneer je opnieuw verbindt via Connect, kom je gewoon weer in de bestaande sessie.
Connect geeft op afstand toegang tot het bureaublad van je Raspberry Pi.
Beperkingen
Raspberry Pi Connect werkt alleen vanaf Raspberry Pi OS met codenaam bookworm, de recentste versie van het besturingssysteem op het moment van schrijven. Bovendien werkt het delen van je scherm alleen met de window-server genaamd Wayland. Standaard gebruikt Raspberry Pi OS alleen Wayland op 64bit-versies van het besturingssysteem op de Raspberry Pi 4, Pi 400 of Pi 5. Gebruik je de X-window-server, dan kun je dus niet je scherm delen met Connect.
Heb je meerdere schermen op de Raspberry Pi aangesloten, dan kan Connect alleen het primaire scherm delen. Bovendien kun je alleen via Connect een desktop openen als er al een grafische sessie open is. Na een reboot van je Raspberry Pi moet je dus of lokaal aanmelden op de desktop of automatisch aanmelden in de grafische omgeving inschakelen voordat je op afstand bij de desktop kunt.
Laat de Raspberry Pi automatisch in de grafische omgeving aanmelden.