Online zetten: een server huren
Hier bouw je op verder: ssh en een sleutelpaar en Een logboek lezen met journalctl
Weet je dit niet meer zeker? Lees het terug voordat je verdergaat.
Je site draait in Docker, achter een voordeur. Nu zet je hem op een computer die dag en nacht aan internet hangt: een server. Je huurt er een bij een hostingbedrijf, of je krijgt er een van school. Zo'n gehuurde server is meestal een stukje van een grotere computer, en heet een VPS (virtual private server). De kleinste is ruim genoeg voor een gastenboek.
Een server kost geld, ook als je hem vergeet. Huur er alleen een met toestemming van een ouder of verzorger, en zeg hem op als je klaar bent. Krijg je er een van school, houd je dan aan wat je docent erover zegt.
De server maken
Bij het maken kies je een paar dingen:
- Besturingssysteem: Ubuntu 24.04 LTS. LTS betekent dat Ubuntu het vijf jaar lang van beveiligingsupdates voorziet.
- Inloggen: kies een ssh-sleutel, geen wachtwoord, en plak de inhoud van je publieke sleutel
~/.ssh/id_ed25519.pubuit WSL. Nooit de privésleutel. - Plaats: een datacenter in Europa, dichtbij je bezoekers.
Daarna krijg je een IP-adres: het nummer waarop je server op internet te vinden is. In deze lessen is dat 203.0.113.10; dat adres is bedoeld voor voorbeelden en bestaat niet echt. Zet steeds je eigen adres op die plek.
De eerste keer inloggen
Open Ubuntu in WSL en log in als root, de enige gebruiker die er nu is:
ssh root@203.0.113.10
ssh vraagt of je de vingerafdruk vertrouwt; typ yes. Bijna elk hostingbedrijf toont die vingerafdruk ook in zijn beheerpagina, zodat je kunt nakijken dat je echt met je eigen server praat. Werk eerst alles bij:
apt update
apt upgrade
Als root heb je geen sudo nodig: je bent het al.
Bij sommige hostingbedrijven log je niet in als root maar als ubuntu, een gebruiker die al sudo mag. Zet dan sudo voor de commando's in de volgende stappen, en kopieer in les 25 de sleutel uit /home/ubuntu/.ssh/authorized_keys in plaats van die van root.
Er gaat iets mis
Permission denied (publickey) als root
root@203.0.113.10: Permission denied (publickey).
Oorzaak: de server kent jouw sleutel niet. Je koos bij het maken een andere sleutel, of geen.
Oplossing: kijk in de beheerpagina van je hostingbedrijf welke sleutel bij de server staat, en vergelijk hem met cat ~/.ssh/id_ed25519.pub in WSL. Klopt hij niet, maak de server dan opnieuw met de goede sleutel; hij is nog leeg.
Opdrachten
Opdracht 1: Investigate - Wie klopt er aan?
Tel hoeveel keer er in het afgelopen uur een onbekende gebruiker probeerde in te loggen.
Tip
journalctl kent de optie --since "1 hour ago". Tellen deed je met wc -l, en zoeken met grep.
Antwoord
journalctl -u ssh --since "1 hour ago" | grep "Invalid user" | wc -l
Het getal verschilt per server en per uur, maar nul is het zelden.
Door naar les 25: een eigen gebruiker.