DevOps-bootcamp · Les

De basis van Secure Shell (SSH)

Leer veilig verbinding te maken met externe Linux-machines, inclusief authenticatie met sleutels en basisconfiguratie van de SSH-client.

Les 2 van 411 stappen

De basis van Secure Shell (SSH) is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Wat is Secure Shell (SSH)?

Welkom bij de basisprincipes van Secure Shell (SSH)! SSH is een krachtig netwerkprotocol waarmee je veilig verbinding kunt maken met een externe computer via een onbeveiligd netwerk.

Zie het als een beveiligde tunnel voor je opdrachten en gegevens. Het is onmisbaar voor het beheren van Linux-servers en cloudinstanties en zelfs voor externe toegang tot je eigen ontwikkelomgeving.

Waarom SSH gebruiken? Veiligheid voorop!

Vóór SSH waren externe verbindingen vaak niet versleuteld. Daardoor kon iedereen je wachtwoorden en gegevens afluisteren. SSH lost dit op met sterke versleuteling.

  • Vertrouwelijkheid: je gegevens zijn versleuteld en verborgen voor nieuwsgierige blikken.
  • Integriteit: zorgt ervoor dat er tijdens de overdracht niet met gegevens wordt geknoeid.
  • Authenticatie: controleert de identiteit van zowel de client als de server.

Het is de industriestandaard voor beheer op afstand.

SSH: client-servermodel

SSH werkt volgens een client-servermodel. Jij, de gebruiker, voert een SSH-client uit op je lokale computer. Deze client maakt verbinding met een SSH-server (vaak `sshd` genoemd) die op de externe computer draait.

Wanneer je een verbinding start, voeren de client en server een 'handshake' uit om een beveiligd, versleuteld kanaal tot stand te brengen voordat er gegevens worden uitgewisseld.

Opdracht voor een basis-SSH-verbinding

De meest basale manier om via SSH verbinding te maken met een externe server is de opdracht ssh te gebruiken, gevolgd door de gebruikersnaam en de host (het IP-adres of de hostnaam).

De indeling is ssh username@hostname_or_IP. Als je bijvoorbeeld als gebruiker coddy verbinding wilt maken met een server op 192.168.1.100:

ssh coddy@192.168.1.100

Eerste verbinding en vingerafdrukken

De allereerste keer dat je verbinding maakt met een nieuwe server, vraagt SSH je om de 'vingerafdruk' van de server te controleren. Dit is een unieke identificatie die aanvallen van het type 'man-in-the-middle' helpt voorkomen.

Controleer de vingerafdruk altijd als dat mogelijk is (bijvoorbeeld door het aan de serverbeheerder te vragen). Als deze overeenkomt, typ je yes om de server aan je bestand ~/.ssh/known_hosts toe te voegen.

SSH-poort en aangepaste poorten

SSH gebruikt standaard TCP-poort 22. Om veiligheidsredenen configureren serverbeheerders SSH echter vaak zo dat het op een andere, niet-standaardpoort luistert.

Als de externe server een aangepaste poort gebruikt (bijvoorbeeld poort 2222), kun je deze opgeven met de optie -p:

ssh -p 2222 coddy@myremoteserver.com

Introductie tot authenticatie met sleutels

Hoewel authenticatie met een wachtwoord werkt, is SSH-authenticatie met sleutels veel veiliger en handiger. Hierbij wordt een paar cryptografische sleutels gebruikt:

  • Openbare sleutel: opgeslagen op de externe server.
  • Privésleutel: veilig opgeslagen op je lokale computer.

Wanneer je verbinding maakt, stelt de server je client voor een uitdaging. De client gebruikt de privésleutel om zijn identiteit te bewijzen, zonder de privésleutel ooit over het netwerk te versturen.

SSH-sleutelparen genereren

Je kunt een SSH-sleutelpaar genereren met de opdracht ssh-keygen. De opdracht vraagt je om een locatie op te geven waar de sleutels moeten worden opgeslagen (standaard ~/.ssh/id_rsa) en om eventueel een wachtwoordzin in te voeren.

Een wachtwoordzin voegt een extra beveiligingslaag toe aan je privésleutel. Het wordt sterk aanbevolen om er een te gebruiken!

ssh-keygen -t rsa -b 4096

Je openbare sleutel kopiëren

Als je eenmaal een sleutelpaar hebt, moet je je openbare sleutel naar de externe server kopiëren. De eenvoudigste manier is met ssh-copy-id. Deze opdracht meldt je aanvankelijk met je wachtwoord aan bij de externe server en voegt je openbare sleutel toe aan het bestand ~/.ssh/authorized_keys.

Daarna kun je verbinding maken met je sleutel in plaats van met een wachtwoord!

ssh-copy-id coddy@myremoteserver.com

Snelle controle: SSH-basisprincipes

Welke van de volgende uitspraken over SSH zijn waar?

Samenvatting: basisprincipes van SSH

In deze les heb je de basisprincipes van Secure Shell (SSH) geleerd!

  • SSH biedt veilige, versleutelde toegang op afstand.
  • Het werkt volgens een client-servermodel en gebruikt meestal poort 22.
  • Je kunt verbinding maken met ssh user@host.
  • Authenticatie met sleutels op basis van openbare en privésleutels (gegenereerd met ssh-keygen en gekopieerd met ssh-copy-id) biedt betere beveiliging dan wachtwoorden.

Vervolgens verkennen we nog krachtigere netwerkopdrachten en hulpprogramma's voor bestandsoverdracht!

Gratis beginnen

Leer DevOps-bootcamp met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
142
Lessen
568

Veelgestelde vragen

Is de les “De basis van Secure Shell (SSH)” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “De basis van Secure Shell (SSH)”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Wat leer ik in “De basis van Secure Shell (SSH)”?

Leer veilig verbinding te maken met externe Linux-machines, inclusief authenticatie met sleutels en basisconfiguratie van de SSH-client. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?

Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “De basis van Secure Shell (SSH)”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?

Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Basisnetwerkhulpprogramma's (ping, ip, netstat)
  2. De basis van Secure Shell (SSH)
  3. SCP en Rsync voor bestandsoverdrachten
  4. SSH-sleutelauthenticatie en het configuratiebestand
← Terug naar DevOps-bootcamp