Voor ontwikkelaars is de terminal een vertrouwd hulpmiddel, maar soms wil je bestanden en mappen intuïtief beheren in een GUI (grafische gebruikersinterface) omgeving. Dit kan vooral vervelend zijn wanneer je verbinding moet maken met een server die alleen via de terminal toegankelijk is, omdat het verplaatsen van bestanden of het begrijpen van de structuur omslachtig kan zijn.

In dergelijke gevallen is SFTP (SSH File Transfer Protocol) en de lokale GUI-bestandsverkenner die het ondersteunt, uiterst nuttig. Het is als het verkennen en beheren van de bestandssystemen van een externe server, net zoals je dit op je lokale computer zou doen!

Een scène waarin zowel de GUI-bestandsverkenner als de terminal worden gebruikt


Wat is SFTP?

SFTP is een methode voor bestandsoverdracht die is gebaseerd op het SSH (Secure Shell) protocol. Zoals de naam al aangeeft, biedt het functies die vergelijkbaar zijn met FTP (File Transfer Protocol), maar door de krachtige versleuteling van SSH kun je bestanden veel veiliger versturen en ontvangen.

  • FTP vs. SFTP: FTP verzendt gebruikersnamen, wachtwoorden en bestandsinhoud in platte tekst, waardoor het kwetsbaar is voor beveiligingslekken. Aan de andere kant wordt met SFTP alle communicatie via een SSH-tunnel versleuteld, waardoor zelfs gevoelige informatie veilig kan worden verzonden.
  • Functies naast bestandsoverdracht: Naast het simpelweg verzenden van bestanden, kun je de bestanden van de externe server verkennen, directories maken/verwijderen en bestandsrechten wijzigen, en vele andere taken voor bestandbeheer uitvoeren.

De ssh opdracht die we doorgaans gebruiken is voornamelijk bedoeld om verbinding te maken met een externe server via de terminal en opdrachten uit te voeren, maar je kunt SFTP begrijpen als iets dat gespecialiseerd is in toegang tot bestandssystemen.


Integratie van SFTP met GUI-bestandsverkenner: Beheer bestanden zonder terminal

In een Linux GUI-omgeving kun je eenvoudig verbinding maken met een externe server door SFTP-adressen in te voeren in de standaard bestandsverkenner (bijv. Nautilus in Ubuntu, Dolphin in KDE). Dit is een krachtige functie die de workflow van ontwikkelaars aanzienlijk kan verbeteren.

Verbindingsmethode (voor Linux)

  1. Open de bestandsverkenner: Open de Linux-bestandsverkenner die je gebruikt, zoals Nautilus (Bestanden), Dolphin enzovoort.

  2. Kies '+ Andere locatie' of 'Netwerk verkennen': Dit bevindt zich meestal onderaan de linkerzijbalk van de bestandsverkenner.

  3. Voer het serveradres in: Voer in het adresinvoerveld het SFTP-adres in volgens dit formaat:

    sftp://[gebruikersnaam]@[doelhost]:[poort]

    • [gebruikersnaam]: De gebruikersaccountnaam om verbinding te maken met de externe server. (Als de lokale gebruikersnaam en de externe server gebruikersnaam hetzelfde zijn, kan dit worden weggelaten.)
    • [doelhost]: Het IP-adres of de domeinnaam van de externe server.
    • [poort]: Het SSH-poortnummer. Als je de standaard SSH-poort (22) gebruikt, kan dit worden weggelaten.
      • Voorbeeld: sftp://myuser@myremoteserver.com:2222 (wanneer port 2222 wordt gebruikt)
      • Voorbeeld: sftp://admin@192.168.1.100 (bij gebruik van de standaard poort 22)
      • Voorbeeld: sftp://myremoteserver.com (wanneer zowel de gebruikersnaam als de poort de standaardwaarden gebruiken)
    • Voer authenticatiegegevens in: Er verschijnt een venster voor authenticatie via een SSH-sleutel of wachtwoord. Vul de benodigde informatie in afhankelijk van je serveraanmeldingsmethode en klik op 'Verbinden' of 'Authenticatie'.

    • Bij gebruik van een SSH-sleutel: Er kan een venster verschijnen om het wachtwoord (passphrase) van die sleutel in te voeren. Als je geen passphrase hebt ingesteld, wordt het id_rsa of id_ed25519 bestand automatisch herkend en wordt er meteen verbinding gemaakt.

    • Bij gebruik van een wachtwoord: Voer het wachtwoord voor de serververbinding in.
  4. Verbinding voltooid: Zodra de authenticatie succesvol is, wordt het bestandssysteem van de externe server gemount in de lokale bestandsverkenner. Nu kun je bestanden op de server kopiëren, verplaatsen, verwijderen of nieuwe directories aanmaken, net zoals je dit met lokale schijven zou doen.

  5. Registreer de verbonden server als favoriet met de rechtermuisknop, zodat je altijd het bestanden van de server kunt gebruiken alsof het een gemounte schijf op je lokale machine is.

Voorbeeld in Nautilus (Ubuntu):

  1. Open Nautilus.
  2. Klik op de linkerkant op + Andere locatie.
  3. Voer in het invoerveld onderaan Verbinden met server bijvoorbeeld sftp://myuser@myremoteserver.com of sftp://myuser@123.45.67.89:2222 in en klik op de Verbinden knop.
  4. Voer het wachtwoord of het wachtwoord van de SSH-sleutel in in de pop-up voor authenticatie.
  5. Als de verbinding succesvol is, verschijnt de home-directory van myremoteserver.com in Nautilus, en kun je bestanden verkennen en beheren alsof ze lokale mappen zijn.

Waarom is deze methode nuttig?

De GUI-gebaseerde SFTP-toegang helpt in allerlei situaties tijdens het ontwikkelproces.

  1. Intuïtieve bestandsverkenning en -beheer: Dit is zeer nuttig voor wie niet vertrouwd is met terminalopdrachten (ls, cd, cp, mv, rm, enz.) of voor wie de complexe directorystructuur snel wil begrijpen. Je kunt eenvoudig bestanden verslepen en neerzetten. Het gemak dat je bestandsnamen en paden niet een voor een in de terminal hoeft in te typen, is echt geweldig.
  2. Bewerken van scripts/configuratiebestanden: Je kunt vanaf je lokale computer de gewenste GUI-teksteditor (VS Code, Sublime Text, Atom, enz.) gebruiken om configuratiebestanden of scripts van de server rechtstreeks te openen, te bewerken en op te slaan. Dit is vooral handig voor gebruikers die moeite hebben met terminal-gebaseerde editors zoals Vim of Nano.
  3. Controle van logbestanden: Je kunt de enorme logbestanden op de server openen met een GUI-verkenner, deze lokaal downloaden voor analyse, of snel specifieke delen doorzoeken.
  4. Beheer van afbeeldingen en mediabestanden: Wanneer je afbeeldingen of media-bestanden op de server moet bekijken of een voorbeeld ervan moet bekijken, is de GUI-omgeving veel efficiënter.
  5. Samenwerking met niet-ontwikkelaars: Ook planners of ontwerpers die geen ontwikkelaars zijn, kunnen toegang krijgen tot specifieke middelen op de server (bijv. afbeeldingen, PDF-documenten) en deze beheren zonder dat je terminalopdrachten hoeft uit te leggen, door gewoon een GUI-omgeving te bieden.

Ter afsluiting

De combinatie van SFTP met GUI-bestandsverkenners biedt revolutionaire gemakken voor gebruikers die niet bekend zijn met serverbeheer via terminalopdrachten. Ook voor ervaren ontwikkelaars zijn er momenten waarop de intuïtiviteit van een GUI efficiënter kan zijn dan de terminal.

Open nu je Linux-bestandsverkenner, voer het SFTP-adres in en haal de bestanden van de externe server binnen handbereik! Je zult een andere nuttige kant van SSH ontdekken.

Als je meer vragen hebt over deze functie, aarzel dan niet om ze te stellen!