De eenvoud van FTP ging gepaard met veiligheidsrisico’s; SSH Pilot biedt een vertrouwde workflow voor veilig beheer van shell-verbindingen en versleutelde bestandsoverdracht, zonder dat de veiligheid in het gedrang komt.

Veel Linux-gebruikers gebruiken nooit iets anders dan een terminal voor SSH-verbindingen. Ook ik ben er één van. Ik maak een SSH-configuratiebestand met alles wat ik nodig heb en start mijn verbindingen met behulp van dat bestand.
En hoewel SSH heel eenvoudig te gebruiken is, is niet iedereen op zijn gemak met de terminal, of ze willen gewoon een efficiënter hulpmiddel gebruiken.
Daarvoor is SSH Pilot, een handige grafisch programma waarmee je al je SSH-verbindingen kunt configureren en beheren in een goed ontworpen grafische gebruikersinterface. Het is open source en gelicenseerd onder GPLv3.
Met SSH Pilot krijg je de volgende functies:
Zoals ik al zei, gebruik ik de terminal voor SSH-verbindingen. Maar als ik veel apparaten zou moeten beheren, zou ik zeker niet willen dat ik IP-adressen of zelfs netwerknamen (hostname) van die apparaten uit mijn hoofd zou moeten leren. Ik zou liever een grafische app willen gebruiken waarmee ik gemakkelijk verbinding kan maken met een apparaat, zonder dat ik mijn hersens moet pijnigen om te onthouden welke apparaat bij welk IP-adres hoort.
Als je veel servers via SSH beheert, dan is SSH Pilot misschien wel iets voor jou. Toegegeven, het heeft misschien niet alle toeters en bellen van andere apps, maar het doet wat het moet doen en dat doet het goed.
Op de download webpagina van SSH Pilot staan verschillende manieren om SSH Pilot te installeren. Voor Debian/Ubuntu kan je o.a. gebruik maken van een speciaal daarvoor aangemaakte softwarebron. Hieronder gebruiken we deze methode omdat je dan automatisch beschikbare updates krijgt. We beginnen met het downloaden en toevoegen van de GPG beveiligingssleutel voor de SSH Pilot softwarebron:
dany@pindabook:~$ wget -O- https://mfat.github.io/sshpilot-ppa/pubkey.gpg | sudo gpg --dearmor --yes -o /usr/share/keyrings/sshpilot-ppa.gpg
--2026-07-05 14:12:23-- https://mfat.github.io/sshpilot-ppa/pubkey.gpg
Herleiden van mfat.github.io (mfat.github.io)... 2606:50c0:8001::153, 2606:50c0:8000::153, 2606:50c0:8003::153, ...
Verbinding maken met mfat.github.io (mfat.github.io)|2606:50c0:8001::153|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 200 OK
Lengte: 1660 (1,6K) [application/octet-stream]
Wordt opgeslagen als: ‘STDOUT’
- 100%[====================================================================>] 1,62K --.-KB/s in 0s
2026-07-05 14:12:23 (28,8 MB/s) - geschreven naar standaarduitvoer [1660/1660]
[sudo] wachtwoord voor dany:
Daarna kunnen we de softwarebron zelf aan het systeem toevoegen:
dany@pindabook:~$ echo "deb [signed-by=/usr/share/keyrings/sshpilot-ppa.gpg arch=amd64] https://mfat.github.io/sshpilot-ppa any main" | sudo tee /etc/apt/sources.list.d/sshpilot-ppa.list
deb [signed-by=/usr/share/keyrings/sshpilot-ppa.gpg arch=amd64] https://mfat.github.io/sshpilot-ppa any main
Uiteindelijk halen we de beschikbare software op (update) en installeren we SSH Pilot:
dany@pindabook:~$ sudo apt update && sudo apt install sshpilot
Ophalen:1 http://security.debian.org/debian-security trixie-security InRelease [43,4 kB]
Geraakt:2 http://deb.debian.org/debian trixie InRelease
Geraakt:3 http://deb.debian.org/debian trixie-updates InRelease
Ophalen:4 https://mfat.github.io/sshpilot-ppa any InRelease [1.756 B]
Ophalen:5 https://mfat.github.io/sshpilot-ppa any/main amd64 Packages [660 B]
45,8 kB opgehaald in 0s (127 kB/s)
Alle pakketten zijn up-to-date.
Installeren:
sshpilot
Installeren van vereisten:
gir1.2-adw-1 libhidapi-hidraw0 python3-click python3-openssl
gir1.2-graphene-1.0 libjavascriptcoregtk-6.0-1 python3-dotenv python3-pyasyncore
gir1.2-gtk-4.0 libmanette-0.2-0 python3-engineio python3-pyinotify
gir1.2-gtksource-5 libvte-2.91-common python3-flask python3-secretstorage
gir1.2-javascriptcoregtk-6.0 libvte-2.91-gtk4-0 python3-flask-socketio python3-simple-websocket
gir1.2-soup-3.0 libwebkitgtk-6.0-4 python3-gi-cairo python3-socketio
gir1.2-vte-3.91 python-babel-localedata python3-h11 python3-werkzeug
gir1.2-webkit-6.0 python3-asgiref python3-itsdangerous python3-wsproto
libadwaita-1-0 python3-babel python3-jeepney sshpass
libgtksourceview-5-0 python3-bidict python3-jinja2 xdg-dbus-proxy
libgtksourceview-5-common python3-blinker python3-markupsafe
Voorgestelde pakketten:
gstreamer1.0-alsa python-flask-doc python-pyinotify-doc python-werkzeug-doc python3-watchdog
python-bidict-doc python-jinja2-doc python-secretstorage-doc python3-lxml
python-blinker-doc python-openssl-doc ipython3 python3-pkg-resources
Samenvatting:
Opwaarderen: 0, Installeren: 44, Verwijderen: 0, Niet opwaarderen: 0
Downloadgrootte: 44,3 MB
Benodigde ruimte: 188 MB / 84,5 GB beschikbaar
Doorgaan? [J/n]
Ophalen:1 http://deb.debian.org/debian trixie/main amd64 gir1.2-graphene-1.0 amd64 1.10.8-5 [12,9 kB]
Ophalen:2 http://deb.debian.org/debian trixie/main amd64 gir1.2-gtk-4.0 amd64 4.18.6+ds-2 [215 kB]
Ophalen:3 http://deb.debian.org/debian trixie/main amd64 libadwaita-1-0 amd64 1.7.6-1~deb13u1 [528 kB]
...
Ophalen:42 http://deb.debian.org/debian trixie/main amd64 python3-pyinotify all 0.9.6-5 [24,9 kB]
Ophalen:43 http://deb.debian.org/debian trixie/main amd64 python3-secretstorage all 3.3.3-3 [16,1 kB]
Ophalen:44 http://deb.debian.org/debian trixie/main amd64 sshpass amd64 1.10-0.1 [12,7 kB]
44,3 MB opgehaald in 1s (43,0 MB/s)
Extraheren van sjablonen uit pakketten: 100%
Voorheen niet geselecteerd pakket gir1.2-graphene-1.0:amd64 wordt geselecteerd.
(Database wordt ingelezen ... 206603 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../00-gir1.2-graphene-1.0_1.10.8-5_amd64.deb wordt voorbereid...
Bezig met uitpakken van gir1.2-graphene-1.0:amd64 (1.10.8-5) ...
...
Voorheen niet geselecteerd pakket sshpilot wordt geselecteerd.
Uitpakken van .../43-sshpilot_5.4.6-1_all.deb wordt voorbereid...
Bezig met uitpakken van sshpilot (5.4.6-1) ...
Instellen van python3-dotenv (1.0.1-1) ...
Instellen van gir1.2-graphene-1.0:amd64 (1.10.8-5) ...
Instellen van gir1.2-gtk-4.0:amd64 (4.18.6+ds-2) ...
...
Instellen van python3-socketio (5.12.1-1) ...
Instellen van python3-flask-socketio (5.5.1-1) ...
Instellen van sshpilot (5.4.6-1) ...
Bezig met afhandelen van triggers voor man-db (2.13.1-1) ...
Bezig met afhandelen van triggers voor mailcap (3.74) ...
Bezig met afhandelen van triggers voor desktop-file-utils (0.28-1) ...
Bezig met afhandelen van triggers voor hicolor-icon-theme (0.18-2) ...
Bezig met afhandelen van triggers voor libc-bin (2.41-12+deb13u3) ...
Zodra de installatie is voltooid, controleer dan de programmastarter op je bureaublad om te zien of er een nieuwe vermelding voor SSH Pilot is. Zo niet, log dan uit en weer in, en SSH Pilot zal zeker in de programmastarter aanwezig zijn.
Je kan SSH Pilot dus starten via de Programmastarter, open de categorie Internet en klik op SSH Pilot.
Eerst krijg je de vraag of SSH Pilot de systeem configuratie va SSH mag gebruiken (Default - use ~/.ssh/config) of onafhankelijk moet werken. Om voor een gestroomlijnd SSH gebruik te komen kies je dus best de voorgestelde standaard Default mode. Om helemaal veilig te zijn laat je SSH Pilot ook een Backup maken van de huidige systeem configuratie.

Ga door met de knop .

SSH Pilot stelt standaard voor om een reservekopie in de map Documenten op te slaan met een standaard goed gekozen bestandsnaam. Met de knop sla je de reservekopie op en krijg je daarvan een melding, Klik om deze te sluiten.
Om een nieuwe SSH verbinding toe te voegen, klik je op de knop in de linkerbovenhoek van het venster. Er verschijnt een nieuw venster waarin je de volgende informatie moet invoeren:

Op het tabblad Authentication kun je een authenticatiemethode selecteren, een SSH-sleutel toevoegen en zelfs een wachtwoordzin voor de SSH-sleutel invoeren. We raden niet aan om wachtwoorden op te slaan, omdat iemand anders toegang tot jouw apparaten zou kunnen krijgen als diegene toegang tot jouw bureaublad krijgt.

Nadat je de informatie hebt ingevuld, klik je op en je bent klaar om een verbinding te maken.
Dubbelklik in het hoofdvenster op de zojuist aangemaakte verbinding en je wordt gevraagd om het wachtwoord blind (en zonder bolletjes of sterretjes in te terminal) van de externe gebruiker (of de SSH-sleutelwachtwoordzin).

Om de verbinding af te sluiten, voer je de exit opdracht uit of sluit je het tabblad met het sluitknopje.
Een andere functie van SSH Pilot is de mogelijkheid om bestanden naar of van een extern apparaat te versturen of te ontvangen. Dit gebeurt met behulp van SCP, wat ik persoonlijk nooit gebruik (vind ik omslachtig en veroudert). Klik daarvoor op het icoon met de twee pijlen (het middelste icoon onderaan in het linker paneel) en er verschijnt een nieuw pop-upvenster waarin wordt gevraagd of je iets van het apparaat wilt downloaden of naar het apparaat wilt uploaden.

Voor wie de SCP bestandsoverdracht belangrijk is, weet hoe je daarna verder moet. Ik stel voor om de SCP overdracht af te breken met de knop.
Veel intuïtiever en gebruiksvriendelijker voor de overdracht van bestanden en mappen naar een ander apparaat is het gebruik van een bestandsbeheerder. Wijs daarvoor in het linker paneel een verbinding aan en klik op het verschenen map-icoon of start in het snelmenu van een verbinding de opdracht Manage Files. De eerste keer moet je kiezen met welke type bestandsbeheerder je wilt werken. Handig en ook standaard is een bestandsbeheerder met twee panelen: één voor de lokale computer en één voor het externe apparaat.

Klik op de knop , geef het wachtwoord in en klik op de knop.

Je kunt nu zoals in elke bestandsbeheerder de bestanden en mappen beheren en dit zowel lokaal (Local) als extern (Remote). Navigeren kan met de knoppen bovenaan de panelen, onderaan staan de knoppen voor bewerkingen. Geselecteerde bestanden en mappen verstuur je naar het extern apparaat met Upload naar de daar geopende map, terwijl je geselecteerde mappen en bestanden kunt kopiëren naar de huidige map op jouw computer met Download.
dany@pindabook:~$ sudo apt remove sshpilot
[sudo] wachtwoord voor dany:
De volgende pakketten zijn automatisch geïnstalleerd en zijn niet langer nodig:
gir1.2-adw-1 libhidapi-hidraw0 python3-click python3-pyasyncore
gir1.2-graphene-1.0 libjavascriptcoregtk-6.0-1 python3-dotenv python3-pyinotify
gir1.2-gtk-4.0 libmanette-0.2-0 python3-engineio python3-secretstorage
gir1.2-gtksource-5 libvte-2.91-common python3-flask python3-simple-websocket
gir1.2-javascriptcoregtk-6.0 libvte-2.91-gtk4-0 python3-flask-socketio python3-socketio
gir1.2-soup-3.0 libwebkitgtk-6.0-4 python3-gi-cairo python3-werkzeug
gir1.2-vte-3.91 python-babel-localedata python3-h11 python3-wsproto
gir1.2-webkit-6.0 python3-asgiref python3-itsdangerous sshpass
libadwaita-1-0 python3-babel python3-jeepney xdg-dbus-proxy
libgtksourceview-5-0 python3-bidict python3-jinja2
libgtksourceview-5-common python3-blinker python3-markupsafe
Gebruik 'sudo apt autoremove' om ze te verwijderen.
VERWIJDEREN:
sshpilot
Samenvatting:
Opwaarderen: 0, Installeren: 0, Verwijderen: 1, Niet opwaarderen: 0
Vrijgemaakte ruimte: 10,5 MB
Doorgaan? [J/n]
(Database wordt ingelezen ... 209039 bestanden en mappen momenteel geïnstalleerd.)
sshpilot (5.4.6-1) wordt verwijderd ...
Bezig met afhandelen van triggers voor hicolor-icon-theme (0.18-2) ...
Bezig met afhandelen van triggers voor mailcap (3.74) ...
Bezig met afhandelen van triggers voor desktop-file-utils (0.28-1) ...
dany@pindabook:~$ sudo apt autoremove
[sudo] wachtwoord voor dany:
VERWIJDEREN:
gir1.2-adw-1 libhidapi-hidraw0 python3-click python3-pyasyncore
gir1.2-graphene-1.0 libjavascriptcoregtk-6.0-1 python3-dotenv python3-pyinotify
gir1.2-gtk-4.0 libmanette-0.2-0 python3-engineio python3-secretstorage
gir1.2-gtksource-5 libvte-2.91-common python3-flask python3-simple-websocket
gir1.2-javascriptcoregtk-6.0 libvte-2.91-gtk4-0 python3-flask-socketio python3-socketio
gir1.2-soup-3.0 libwebkitgtk-6.0-4 python3-gi-cairo python3-werkzeug
gir1.2-vte-3.91 python-babel-localedata python3-h11 python3-wsproto
gir1.2-webkit-6.0 python3-asgiref python3-itsdangerous sshpass
libadwaita-1-0 python3-babel python3-jeepney xdg-dbus-proxy
libgtksourceview-5-0 python3-bidict python3-jinja2
libgtksourceview-5-common python3-blinker python3-markupsafe
Samenvatting:
Opwaarderen: 0, Installeren: 0, Verwijderen: 42, Niet opwaarderen: 0
Vrijgemaakte ruimte: 178 MB
Doorgaan? [J/n]
(Database wordt ingelezen ... 208765 bestanden en mappen momenteel geïnstalleerd.)
gir1.2-adw-1:amd64 (1.7.6-1~deb13u1) wordt verwijderd ...
gir1.2-vte-3.91:amd64 (0.80.1-1) wordt verwijderd ...
gir1.2-webkit-6.0:amd64 (2.52.3-2~deb13u1) wordt verwijderd ...
gir1.2-gtksource-5:amd64 (5.16.0-1) wordt verwijderd ...
...
xdg-dbus-proxy (0.1.6-1+deb13u1) wordt verwijderd ...
gir1.2-gtk-4.0:amd64 (4.18.6+ds-2) wordt verwijderd ...
gir1.2-graphene-1.0:amd64 (1.10.8-5) wordt verwijderd ...
Bezig met afhandelen van triggers voor libc-bin (2.41-12+deb13u3) ...
Bezig met afhandelen van triggers voor man-db (2.13.1-1) ...
Bezig met afhandelen van triggers voor hicolor-icon-theme (0.18-2) ...
dany@pindabook:~$ sudo rm /etc/apt/sources.list.d/sshpilot-ppa.list
dany@pindabook:~$ sudo rm /usr/share/keyrings/sshpilot-ppa.gpg
dany@pindabook:~$ rm -r .local/state/sshpilot .config/sshpilot
dany@pindabook:~$ mv Documenten/ssh_config_backup_20260710_142219.bak .ssh/config