Hur man genererar en SSH-nyckel i Windows: 2 metoder

By rik

Viktiga slutsatser

  • Skapa en SSH-nyckel i Windows via kommandotolken eller WSL. OpenSSH-klienten i Windows 11 underlättar processen och höjer säkerheten, men kan kräva aktivering av tilläggsfunktioner i Windows 10.
  • Använd kommandotolken eller WSL och kör ”ssh-keygen” eller ”ssh-keygen -t ed25519”. Ange sedan önskad lagringsplats och en eventuell lösenfras för att skapa nyckeln.

En SSH-nyckel (Secure Shell) är en viktig autentiseringsmetod som används med SSH-protokollet för att skydda filöverföringar, nätverksanslutningar och hantera majoriteten av stora molntjänster som exempelvis AWS. Du kan generera dessa nycklar istället för lösenord i Windows för att upprätta krypterade anslutningar – så här gör du.

Hur man skapar en SSH-nyckel i Windows

Secure Shell Protocol (SSH) är det föredragna sättet för att säkra osäkra anslutningar mellan datorer via internet. Användandet av SSH-protokollet med användarnamn och lösenord bör undvikas till förmån för kryptografiskt genererade SSH-nycklar.

Windows 11 inkluderar en inbyggd OpenSSH-klient. Detta möjliggör enkel generering av SSH-nycklar utan behov av tredjepartsprogram. Processen är i stort sett identisk i Windows 10; om problem uppstår kan OpenSSH-klienten aktiveras via inställningarna för Windows tilläggsfunktioner.

Det finns två primära metoder för att generera en SSH-nyckel i Windows: Kommandotolken och WSL (Windows Subsystem for Linux). Låt oss börja med den förstnämnda.

Windows Terminal kan vara ett intressant alternativ eftersom den samlar kommandoradsgränssnitt på en och samma plats. Den kan köra Kommandotolken, PowerShell och Windows Subsystem for Linux inom ett och samma fönster. Detta verktyg förbättrar flexibiliteten och förenklar åtgärder som exempelvis generering av SSH-nycklar.

1. Generera en SSH-nyckel via kommandotolken

Följ stegen nedan för att skapa en SSH-nyckel i Windows med hjälp av kommandotolken:

  • Öppna kommandotolken som administratör.
  • Skriv följande kommando i kommandotolken och tryck på Enter:
    ssh-keygen
  • Systemet kommer att begära en plats där nyckeln ska sparas.
  • Tryck på Enter för att spara nyckeln på standardplatsen (oftast C:\Users\ditt_användarnamn/.ssh/id_rsa). Det är även möjligt att specificera en annan lagringsplats.
  • Du kommer att uppmanas att ange en lösenfras för nyckeln. Detta är valfritt, men en lösenfras ger ett extra skyddslager till din SSH-nyckel. Om du inte vill ange någon lösenfras, tryck på Enter.
  • Skriv in lösenfrasen igen (om du valde att använda en) och tryck på Enter. Om ingen lösenfras användes, tryck på Enter en gång till.
  • Nu kommer systemet att generera din SSH-nyckel, visa ett fingeravtryck och ange platsen där nyckeln sparats. Du kan även se nyckelparet på den angivna platsen.

    Utöver RSA-nycklar kan Ed25519-nycklar också genereras. Processen är i stort sett identisk, med endast en mindre skillnad i kommandoraden. Istället för att använda ”ssh-keygen”, använd följande kommando:

    ssh-keygen -t ed25519

    De återstående stegen är desamma som när en RSA-nyckel genereras. Du behöver ange filplatsen, eventuell lösenfras, och systemet kommer därefter skapa nyckeln med tillhörande fingeravtryck och platsinformation.

    Det nyckelfingeravtryck du får är unikt för din SSH-nyckel. Du kan använda det för att verifiera äktheten när du ansluter till en fjärrserver. När en SSH-nyckel skapas genereras två nycklar – en privat och en offentlig nyckel. Dessa nycklar kan särskiljas genom sina filändelser. Den privata nyckeln har ingen filändelse medan den offentliga nyckelns filnamn slutar med .pub.

    Den privata nyckeln används för kryptering och dekryptering och ska hållas hemlig. Den offentliga nyckeln används enbart för kryptering, och att dela den äventyrar inte den privata nyckelns integritet.

    2. Generera en SSH-nyckel med WSL

    En annan metod för att generera en SSH-nyckel är via Windows Subsystem for Linux (WSL). Men varför ska man använda WSL när man har Windows Kommandotolk?

    WSL ger dig en komplett Linux-miljö direkt i Windows, vilket gör att du kan köra Linuxkommandon utan ett separat operativsystem. Detta är användbart för utvecklare och systemadministratörer som jobbar med både Windows och Linux.

    Om problem uppstår, se vår guide för att aktivera WSL i Windows.

    För att börja, följ dessa steg:

  • Starta WSL-terminalen.
  • För att generera en RSA-4096-nyckel, skriv följande kommando och tryck på Enter:
    ssh-keygen -t rsa -b 4096
  • För att generera en Ed25519-nyckel, ändra kommandot till:
    ssh-keygen -t ed25519
  • Det är även möjligt att lägga till din e-postadress i slutet av kommandot. Denna kommentar hjälper till att identifiera vilken nyckel som tillhör vilket konto om du skapar flera nycklar för olika ändamål. Exempelvis: ssh-keygen -t rsa -b 4096 -C ”[email protected]”.
  • Välj en plats för din nyckel eller tryck på Enter för att använda standardplatsen.
  • Terminalen kommer att begära en lösenfras. Det är valfritt, så det går bra att lämna det tomt. Tryck på Enter för att fortsätta.
  • Till slut kommer du att se ett meddelande med platsen och fingeravtrycket för din nyskapade SSH-nyckel. Du kan nu använda nyckeln för att säkra kommunikationen mellan din dator och fjärrservrar.

    Vad skiljer RSA- och Ed25519-nycklar åt?

    Tidigare diskuterade vi två typer av SSH-nycklar: RSA och Ed25519. Men hur skiljer de sig?

  • Algoritm: RSA (Rivest-Shamir-Adleman) använder asymmetrisk kryptering, medan Ed25519 använder både elliptiska kurvor och asymmetrisk kryptering.
  • Nyckelstorlek: RSA-nycklar har olika nyckelstorlekar, från 1024 till 4096 bitar. Ed25519 har en fast nyckelstorlek på 256 bitar, vilket gör den snabbare än RSA.
  • Säkerhet: Ed25519 anses generellt vara säkrare och mer motståndskraftig mot attacker.
  • Prestanda: Ed25519 är snabbare och effektivare än RSA.
  • Kompatibilitet: RSA har bredare stöd, men Ed25519 blir allt vanligare.
  • I slutändan kan du välja den kryptografiska algoritmen som passar bäst för ditt system. Generering av SSH-nycklar är enkelt med de metoder som Windows erbjuder och bör övervägas på grund av de allvarliga onlineriskerna som kan uppstå vid åtkomst av fjärrsystem.