Hoppa till innehållet

Cookieinställningar

Välj vilka typer av cookies du tillåter. Du kan alltid ändra ditt val via Cookieinställningar längst ned på varje sida. Integritetspolicy

Nödvändiga

Alltid på

Behövs för att logga in, spara din varukorg och komma ihåg dina val. De är alltid på.

Vilka cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session och att du förblir inloggad
  • weboke_basket: din varukorg
  • wkBtwIncl: visa priser med eller utan moms
  • wok_cookies: ditt cookieval, 12 månader

Mäter vilken annons som leder till ett besök eller en beställning, så att vi inte betalar för annonser som inte ger något.

Vilka cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), upp till 90 dagar
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: via vilken partner du kom till oss (affiliateprogram), 60 dagar

4,6

Land och språk

Varje land har en egen webbplats med landets priser och moms.

Visa

Skapa och använda SSH-nycklar

Modul 2: SSH och nycklar · Lästid: 10 minuter

Lärandemål: Efter den här lektionen kan du skapa ett nyckelpar, lägga den publika nyckeln på din server, logga in utan lösenord och förvara din privata nyckel så att en borttappad laptop inte blir en katastrof.

Nyckelbegrepp: nyckelpar, publik nyckel, privat nyckel, ed25519, RSA, lösenfras, ssh-agent, ssh-copy-id, authorized_keys, rättigheter 700 och 600, en nyckel per enhet, FIDO2-nyckel

Varför nycklar är bättre än lösenord

I lektion 1.3 loggade du in med ett lösenord. Det fungerar, men en server på internet får redan från första minuten besök av program som gissar lösenord. Titta bara i loggen på en helt ny server:

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

Hundratals försök i timmen är normalt. Ett starkt lösenord stoppar dem, men du har skapat en svag punkt som du inte behöver. Med en SSH-nyckel är det meningslöst att gissa: det finns inget att gissa som står i en ordlista.

En nyckel består av två delar som hör ihop, ett nyckelpar:

  • Den privata nyckeln stannar på din egen dator. Den som har den här filen (och kan lösenfrasen) kan logga in. Dela den inte med någon, inte heller med din leverantör eller en helpdesk.
  • Den publika nyckeln ger du till servern. Den får vem som helst se: du kan inte logga in med den, bara kontrollera.

Vid inloggningen skickas inget lösenord över linjen. Din dator bevisar med en signatur att den har den privata nyckeln, och servern kontrollerar signaturen med den publika nyckeln. Även om någon tjuvlyssnar på nätverket ser hen inget som kan återanvändas senare.

Skapa en nyckel

Du skapar nyckeln på din egen dator, inte på servern. I Windows 10 och 11, macOS och Linux finns ssh-keygen redan. Öppna 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

Vad händer här?

  • -t ed25519 väljer typ. Ed25519 är kort, snabb och säker, och sedan OpenSSH 9.5 även standardtypen om du inte anger något. Måste du hantera ett gammalt system som inte känner till ed25519, ta då RSA med minst 3072 bitar: ssh-keygen -t rsa -b 4096. Äldre typer som DSA har tagits bort ur OpenSSH; använd dem inte.
  • -C är bara en kommentar. Skriv något som senare visar vilken enhet nyckeln kommer från. Det hjälper enormt när du behöver återkalla en nyckel.
  • Lösenfrasen krypterar den privata nyckeln på din disk. Blir din laptop stulen har tjuven en krypterad fil. Utan lösenfras har hen direkt åtkomst till alla dina servrar.

Du har nu två filer:

FilVadDela?
~/.ssh/id_ed25519Privat nyckelAldrig
~/.ssh/id_ed25519.pubPublik nyckel, en rad textJa, till servern

I Windows ligger de i C:\Users\anna\.ssh\. Den publika nyckeln är en rad som börjar med ssh-ed25519:

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

Lägg den publika nyckeln på servern

Skapa en SSH-nyckel och logga in med den 1:12

Servern letar efter publika nycklar i filen ~/.ssh/authorized_keys hos användaren du loggar in som. Varje rad är en nyckel. Det finns tre sätt att få dit din nyckel:

1. Vid installationen. De flesta leverantörer har ett fält för din publika nyckel när du skapar eller installerar om en VPS. Hos WebOké heter fältet "SSH-nyckel" i VPS-vyn; hos andra leverantörer fungerar det på liknande sätt. Det här är det bästa sättet: då behöver lösenordsinloggning aldrig vara påslagen.

2. Med ssh-copy-id (macOS och Linux), medan lösenordsinloggning fortfarande fungerar:

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. För hand, till exempel från Windows eller via leverantörens konsol. Klistra in raden från din .pub-fil i authorized_keys och ställ in rättigheterna:

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

De rättigheterna är ingen detalj. SSH-servern kontrollerar dem (inställningen StrictModes är påslagen som standard): om andra får skriva i din .ssh-mapp eller din hemmapp ignorerar den dina nycklar. Du får då bara en lösenordsfråga igen, utan något tydligt felmeddelande. Hur du läser rättigheter lär du dig i lektion 3.1.

Testa sedan i ett nytt fönster:

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

Frågan kommer nu från din egen dator (lösenfrasen för din nyckel), inte längre från servern.

ssh-agent: lås upp en gång

Att skriva lösenfrasen varje gång är jobbigt. ssh-agent håller din upplåsta nyckel i minnet så länge du är inloggad på din dator:

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 kopplas agenten till nyckelringen, i Windows är det tjänsten "OpenSSH Authentication Agent" (slå på den en gång under Tjänster). Så får du bekvämligheten av att slippa lösenord och har ändå en krypterad nyckel på disken.

Var försiktig med agent forwarding (ssh -A): då får servern du loggar in på använda din agent. Den som är root på den servern kan då gå vidare med din nyckel. Använd det bara på servrar du litar helt på, eller använd ProxyJump (lektion 2.3).

En nyckel per enhet, och vet vilka som ligger var

Ett vanligt misstag: att kopiera en och samma privata nyckel till laptop, dator och telefon. Tappar du bort en enhet måste du byta nyckeln överallt och ställa in alla enheter på nytt. Bättre:

  • skapa en egen nyckel på varje enhet, med en tydlig kommentar (-C "anna@telefoon");
  • lägg alla publika nycklar i authorized_keys, en per rad;
  • tappar du bort en enhet tar du bara bort just den raden.

Kontrollera regelbundet vilka nycklar som har åtkomst:

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

Finns det en nyckel du inte känner igen är det en varningssignal (lektion 10.3). Inkräktare lägger gärna in sin egen nyckel i authorized_keys för att kunna komma tillbaka senare.

En hårdvarunyckel (FIDO2, till exempel en YubiKey) går också bra. Med ssh-keygen -t ed25519-sk ligger den hemliga delen på själva nyckeln och du måste röra vid den varje gång den används. En stulen fil är då värdelös. Det är ett fint steg vidare, men inte nödvändigt för att komma igång.

Har du tappat bort din privata nyckel?

Tappar du bort din enda privata nyckel och lösenordsinloggning är avstängd kommer du inte längre in via SSH. Därför:

  • lägg alltid minst två nycklar på servern (till exempel laptop och dator);
  • ta reda på hur leverantörens konsol fungerar (lektion 1.2). Där loggar du in som om du kopplade ett tangentbord till servern, och det fungerar även utan SSH. Hos WebOké heter det Konsol i VPS-vyn; andra leverantörer kallar det VNC-konsol, webbkonsol eller nödkonsol.

På AlmaLinux och Rocky Linux

Allt i den här lektionen fungerar likadant. En extra fallgrop: med SELinux påslaget måste ~/.ssh ha rätt säkerhetsetikett. Har du skapat eller kopierat mappen för hand och ignoreras din nyckel, så rättar restorecon -Rv ~/.ssh det.

Sammanfattning

  • Ett nyckelpar består av en privat nyckel (stannar hos dig) och en publik nyckel (går till servern, i ~/.ssh/authorized_keys).
  • Skapa nycklar med ssh-keygen -t ed25519 på din egen dator, med en lösenfras; använd ssh-agent för bekvämlighetens skull.
  • Rättigheter spelar roll: ~/.ssh på 700 och authorized_keys på 600, annars ignorerar servern din nyckel.
  • En nyckel per enhet, med en tydlig kommentar, så att du kan återkalla en av dem.
  • Ha en andra nyckel och lär dig leverantörens konsol som nödingång.

Quiz

1. Vilken fil får du ge till din leverantör eller en kollega så att du får åtkomst till en server?



2. Du har lagt din nyckel i authorized_keys, men servern frågar fortfarande efter ett lösenord. Vad är en vanlig orsak?



3. Varför sätter du en lösenfras på din privata nyckel?



4. Din laptop har blivit stulen. På servern finns tre nycklar: laptop, dator och telefon, var och en med en egen kommentar. Vad gör du?



5. Vad är risken med ssh -A (agent forwarding) till en server du inte litar på?



Uppgift

Uppgift O2.1: Skapa och använd en nyckel. Skapa en ed25519-nyckel med lösenfras och en tydlig kommentar på din egen dator, lägg den på din server (via leverantörens fält, ssh-copy-id eller för hand), kontrollera rättigheterna och logga in med nyckeln i ett nytt fönster. Fyll sedan i fingeravtrycket för din nyckel (från ssh-keygen -lf ~/.ssh/id_ed25519.pub) och svara på frågorna om var din privata nyckel finns och vad du gör om du tappar bort den. Programmet kontrollerar bara att fingeravtrycket har rätt format; resten gör du själv.

Uppgift O2.1: Skapa och använd en nyckel

Den här uppgiften gör du själv; ingen kontrollerar den. Bocka av vad du har gjort och markera uppgiften som klar.




Dina bockar och anteckningar sparas bara i den här webbläsaren; vi skickar dem ingenstans. Är du inloggad sparar vi i Mina kurser bara att du har gjort uppgiften.

Läs mer

Stegen i de här artiklarna gäller VPS-vyn och panelerna hos WebOké; hos andra leverantörer fungerar det på liknande sätt.

Ett ögonblick…

Ställ in dina domäner

Ställ in namnservrar, koppling till ditt webbhotell och vem som blir innehavare för varje domän.

Hämtar dina domäner…