Gå direkte til indholdet

Cookieindstillinger

Vælg for hver type, hvilke cookies du tillader. Du kan altid ændre dit valg via Cookieindstillinger nederst på hver side. Privatlivspolitik

Nødvendige

Altid slået til

Nødvendige for at logge ind, gemme din kurv og huske dine valg. De er altid slået til.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session og at forblive logget ind
  • weboke_basket: din kurv
  • wkBtwIncl: vise priser med eller uden moms
  • wok_cookies: dit cookievalg, 12 måneder

Måler, hvilken annonce der fører til et besøg eller en bestilling, så vi ikke betaler for annoncer, der ikke virker.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), op til 90 dage
  • OpenAI Ads, annoncer i ChatGPT
  • wok_aff: hvilken partner der henviste dig til os (affiliateprogram), 60 dage

4,6

Land og sprog

Hvert land har sin egen side med landets priser og moms.

Se

Opret og brug SSH-nøgler

Modul 2: SSH og nøgler · Læsetid: 10 minutter

Læringsmål: Efter denne lektion kan du oprette et nøglepar, lægge den offentlige nøgle på din server, logge ind uden adgangskode og opbevare din private nøgle, så en mistet bærbar ikke bliver en katastrofe.

Centrale begreber: nøglepar, offentlig nøgle, privat nøgle, ed25519, RSA, passphrase, ssh-agent, ssh-copy-id, authorized_keys, rettigheder 700 og 600, én nøgle pr. enhed, FIDO2-nøgle

Hvorfor nøgler er bedre end adgangskoder

I lektion 1.3 loggede du ind med en adgangskode. Det virker, men en server på internettet får fra første minut besøg af programmer, der gætter adgangskoder. Kig bare i loggen på en helt ny server:

root@web1:~# journalctl -u ssh --since "1 hour ago" | grep -c "Failed password"
214

Hundredvis af forsøg i timen er normalt. En stærk adgangskode holder dem ude, men du har skabt et svagt punkt, du ikke har brug for. Med en SSH-nøgle er det nytteløst at gætte: der er intet at gætte, som står i en ordliste.

En nøgle består af to dele, der hører sammen, et nøglepar:

  • Den private nøgle bliver på din egen computer. Den, der har denne fil (og kender passphrasen), kan logge ind. Del den aldrig med nogen, heller ikke med din udbyder eller en helpdesk.
  • Den offentlige nøgle giver du til serveren. Den må alle se: man kan ikke logge ind med den, kun kontrollere med den.

Når du logger ind, sender serveren ingen adgangskode over forbindelsen. Din computer beviser med en signatur, at den har den private nøgle, og serveren kontrollerer signaturen med den offentlige nøgle. Selv hvis nogen lytter med på netværket, ser de intet, de senere kan genbruge.

Opret en nøgle

Du opretter nøglen på din egen computer, ikke på serveren. På Windows 10 og 11, macOS og Linux er ssh-keygen allerede med. Åbn PowerShell eller Terminal:

anna@laptop:~$ ssh-keygen -t ed25519 -C "anna@laptop 2026"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/anna/.ssh/id_ed25519):
Enter passphrase for "/home/anna/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/anna/.ssh/id_ed25519
Your public key has been saved in /home/anna/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:q3J8vX0bT2kPz9mWc1nR4sLh7uYdE5aF6gBiC0oN2xQ anna@laptop 2026

Hvad sker der her?

  • -t ed25519 vælger typen. Ed25519 er kort, hurtig og sikker, og siden OpenSSH 9.5 også standardtypen, hvis du ikke angiver noget. Skal du betjene et gammelt system, der ikke kender ed25519, så brug RSA med mindst 3072 bit: ssh-keygen -t rsa -b 4096. Ældre typer som DSA er fjernet fra OpenSSH; brug dem ikke.
  • -C er kun en kommentar. Skriv noget, så du senere kan se, hvilken enhed nøglen kommer fra. Det hjælper enormt, når du skal trække en nøgle tilbage.
  • Passphrasen krypterer den private nøgle på din disk. Bliver din bærbare stjålet, har tyven en krypteret fil. Uden passphrase har tyven straks adgang til alle dine servere.

Du har nu to filer:

FilHvadDele?
~/.ssh/id_ed25519Privat nøgleAldrig
~/.ssh/id_ed25519.pubOffentlig nøgle, én linje tekstJa, til serveren

På Windows ligger de i C:\Users\anna\.ssh\. Den offentlige nøgle er én linje, der begynder med ssh-ed25519:

anna@laptop:~$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHk2... anna@laptop 2026

Læg den offentlige nøgle på serveren

Serveren leder efter offentlige nøgler i filen ~/.ssh/authorized_keys hos den bruger, du logger ind som. Hver linje er én nøgle. Der er tre måder at få din nøgle derind på:

1. Ved installationen. De fleste udbydere har et felt til din offentlige nøgle, når du opretter eller geninstallerer en VPS. Hos WebOké hedder feltet "SSH-nøgle" i VPS-skærmen; hos andre udbydere fungerer det på samme måde. Det er den bedste måde: så behøver login med adgangskode aldrig at være slået til.

2. Med ssh-copy-id (macOS og Linux), mens login med adgangskode stadig virker:

anna@laptop:~$ ssh-copy-id anna@192.0.2.10
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed
anna@192.0.2.10's password:
Number of key(s) added: 1

3. Manuelt, for eksempel fra Windows eller via din udbyders konsol. Indsæt linjen fra din .pub-fil i authorized_keys, og sæt rettighederne korrekt:

anna@web1:~$ mkdir -p ~/.ssh
anna@web1:~$ nano ~/.ssh/authorized_keys
anna@web1:~$ chmod 700 ~/.ssh
anna@web1:~$ chmod 600 ~/.ssh/authorized_keys

Rettighederne er ikke en detalje. SSH-serveren kontrollerer dem (indstillingen StrictModes er slået til som standard): hvis andre må skrive i din .ssh-mappe eller din hjemmemappe, ignorerer den dine nøgler. Du ser så bare en adgangskodeforespørgsel igen, uden nogen tydelig fejlmeddelelse. Hvordan du læser rettigheder, lærer du i lektion 3.1.

Test derefter i et nyt vindue:

anna@laptop:~$ ssh anna@192.0.2.10
Enter passphrase for key '/home/anna/.ssh/id_ed25519':
anna@web1:~$

Spørgsmålet kommer nu fra din egen computer (passphrasen til din nøgle), ikke længere fra serveren.

ssh-agent: lås op én gang

Det er besværligt at skrive en passphrase hver gang. ssh-agent holder din oplåste nøgle i hukommelsen, så længe du er logget ind på din computer:

anna@laptop:~$ ssh-add ~/.ssh/id_ed25519
Enter passphrase for /home/anna/.ssh/id_ed25519:
Identity added: /home/anna/.ssh/id_ed25519 (anna@laptop 2026)
anna@laptop:~$ ssh-add -l
256 SHA256:q3J8vX0bT2kPz9mWc1nR4sLh7uYdE5aF6gBiC0oN2xQ anna@laptop 2026 (ED25519)

På macOS kobler agenten sig til nøgleringen, på Windows er det tjenesten "OpenSSH Authentication Agent" (slå den til én gang under Tjenester). Så får du nemheden ved ingen adgangskode og alligevel en krypteret nøgle på disken.

Pas på med agent forwarding (ssh -A): så må den server, du logger ind på, bruge din agent. Den, der er root på serveren, kan så komme videre med din nøgle. Brug det kun på servere, du stoler fuldt på, eller brug ProxyJump (lektion 2.3).

Én nøgle pr. enhed, og hold styr på hvor de ligger

En almindelig fejl: at kopiere én privat nøgle til bærbar, pc og telefon. Mister du én enhed, skal du udskifte nøglen alle steder og sætte alle enheder op igen. Bedre:

  • opret en egen nøgle på hver enhed, med en tydelig kommentar (-C "anna@telefoon");
  • læg alle offentlige nøgler i authorized_keys, én pr. linje;
  • mister du en enhed, så fjern kun den ene linje.

Tjek jævnligt, hvilke nøgler der har adgang:

anna@web1:~$ ssh-keygen -lf ~/.ssh/authorized_keys
256 SHA256:q3J8vX0bT2kPz9mWc1nR4sLh7uYdE5aF6gBiC0oN2xQ anna@laptop 2026 (ED25519)
256 SHA256:Zt5oP1yW8eQ3rK6sV0bN9mD2xA4cH7jL1uI5fG8tE3w anna@telefoon (ED25519)

Er der en nøgle, du ikke genkender, er det et alarmsignal (lektion 10.3). Indbrudstyve lægger gerne deres egen nøgle i authorized_keys for at kunne komme tilbage senere.

En hardwarenøgle (FIDO2, som en YubiKey) er også en mulighed. Med ssh-keygen -t ed25519-sk ligger den hemmelige del på selve nøglen, og du skal røre den ved hver brug. En stjålet fil er så værdiløs. Det er et fint skridt videre, men ikke nødvendigt for at komme i gang.

Har du mistet din private nøgle?

Mister du din eneste private nøgle, og er login med adgangskode slået fra, kan du ikke længere komme ind via SSH. Derfor:

  • læg altid mindst to nøgler på serveren (for eksempel bærbar og pc);
  • vid, hvordan din udbyders konsol virker (lektion 1.2). Der logger du ind, som om du havde sat et tastatur i serveren, og det virker også uden SSH. Hos WebOké hedder det Console i VPS-skærmen; andre udbydere kalder det VNC-konsol, webkonsol eller nødkonsol.

På AlmaLinux og Rocky Linux

Alt i denne lektion fungerer på samme måde. Én ekstra faldgrube: med SELinux slået til skal ~/.ssh have den rigtige sikkerhedsmærkat. Har du oprettet eller kopieret mappen manuelt, og bliver din nøgle ignoreret, så retter restorecon -Rv ~/.ssh det.

Opsummering

  • Et nøglepar består af en privat nøgle (bliver hos dig) og en offentlig nøgle (går til serveren, i ~/.ssh/authorized_keys).
  • Opret nøgler med ssh-keygen -t ed25519 på din egen computer, med en passphrase; brug ssh-agent for nemhedens skyld.
  • Rettigheder tæller: ~/.ssh på 700 og authorized_keys på 600, ellers ignorerer serveren din nøgle.
  • Én nøgle pr. enhed, med en tydelig kommentar, så du kan trække én tilbage.
  • Sørg for en ekstra nøgle, og kend din udbyders konsol som nødindgang.

Quiz

1. Hvilken fil må du give til din udbyder eller en kollega, så du får adgang til en server?



2. Du har lagt din nøgle i authorized_keys, men serveren spørger stadig om en adgangskode. Hvad er en almindelig årsag?



3. Hvorfor sætter du en passphrase på din private nøgle?



4. Din bærbare er blevet stjålet. På serveren ligger tre nøgler: bærbar, pc og telefon, hver med sin egen kommentar. Hvad gør du?



5. Hvad er risikoen ved ssh -A (agent forwarding) til en server, du ikke stoler på?



Opgave

Opgave O2.1: Opret og brug en nøgle. Opret en ed25519-nøgle med en passphrase og en tydelig kommentar på din egen computer, læg den på din server (via udbyderens felt, ssh-copy-id eller manuelt), kontrollér rettighederne, og log ind med nøglen i et nyt vindue. Udfyld derefter din nøgles fingeraftryk (fra ssh-keygen -lf ~/.ssh/id_ed25519.pub), og besvar spørgsmålene om, hvor din private nøgle ligger, og hvad du gør, hvis du mister den. Programmet kontrollerer kun, om fingeraftrykket har den rigtige form; resten gør du selv.

Opgave O2.1: Opret og brug en nøgle

Denne opgave laver du selv; ingen tjekker den. Afkryds hvad du har gjort, og markér opgaven som udført.




Dine afkrydsninger og noter forbliver kun i denne browser; vi sender dem ingen steder hen. Er du logget ind, gemmer vi kun i Mine kurser, at du har udført opgaven.

Læs mere

Trinene i disse artikler gælder for VPS-skærmen og panelerne hos WebOké; hos andre udbydere fungerer det på samme måde.

Et øjeblik…

Opsæt dine domæner

Angiv for hvert domæne navneserverne, tilknytningen til din hosting, og hvem der bliver ejer.

Indlæser dine domæner…