Hantering av nycklar för Secure Shell
Implementera lösenordslös SSH-autentisering med nyckelpar för ökad säkerhet och bekvämlighet.
Hantering av nycklar för Secure Shell är en gratis lektion i Bemästra Linux-kommandoraden på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Bemästra Linux-kommandoraden, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Bemästra Linux-kommandoraden innehåller totalt 4 lektioner.
Vad är SSH-nycklar?
SSH-nycklar är ett säkert sätt att logga in på en fjärrserver utan att behöva ett lösenord. Se dem som ett digitalt system med nyckel och lås.
- De ger bättre säkerhet än traditionella lösenord.
- De är praktiska eftersom de möjliggör lösenordsfria inloggningar.
- I den här lektionen får du vägledning i hur du konfigurerar dem.
Par med offentlig och privat nyckel
Ett SSH-nyckelsystem består av två delar: en offentlig nyckel och en privat nyckel.
- Din privata nyckel stannar på din lokala dator och måste hållas hemlig. Dela den aldrig!
- Din offentliga nyckel kan delas fritt. Du placerar den på alla servrar som du vill ansluta till.
- När du försöker ansluta använder servern din offentliga nyckel för att verifiera din privata nyckel och bevilja åtkomst.
Skapa egna SSH-nycklar
Du skapar ett SSH-nyckelpar med kommandot ssh-keygen i terminalen.
Som standard skapas nycklarna i katalogen ~/.ssh/ (en dold mapp i din hemkatalog). Den vanligaste nyckeltypen är RSA.
Du får ange en lösenfras. Den ger din privata nyckel ett extra säkerhetslager genom att kryptera den. Det rekommenderas starkt!
Praktiskt: Använda `ssh-keygen`
Nu skapar vi ett RSA-nyckelpar. När du får frågan kan du trycka på Enter för att använda standardplatserna för filer och välja en stark lösenfras (eller lämna den tom om du inte vill ha någon lösenfras, även om det inte rekommenderas ur säkerhetssynpunkt).
ssh-keygen -t rsa -b 4096Förstå nyckelfiler
När du har kört ssh-keygen hittar du två nya filer i katalogen ~/.ssh/:
id_rsa: Det här är din privata nyckel. Förvara den säkert och dela den aldrig!id_rsa.pub: Det här är din offentliga nyckel. Du kopierar den till fjärrservrar.
Kommandot visar också ett nyckelfingeravtryck, en unik identifierare för ditt nyckelpar.
Kopiera din offentliga nyckel till en server
För att möjliggöra lösenordsfri inloggning måste din offentliga nyckel finnas på fjärrservern. Det enklaste sättet att göra detta är med kommandot ssh-copy-id.
Det lägger automatiskt till din offentliga nyckel i filen ~/.ssh/authorized_keys på servern. Du behöver bara ange serverns lösenord den här enda gången.
ssh-copy-id user@remote_hostInstallera offentlig nyckel manuellt
Om ssh-copy-id inte finns på ditt system kan du kopiera din offentliga nyckel manuellt. Det innebär att du läser din lokala offentliga nyckel och skickar den via SSH till fjärrservern, där den läggs till i filen authorized_keys.
Kontrollera att katalogen .ssh finns och har rätt behörigheter på servern (chmod 700 ~/.ssh).
cat ~/.ssh/id_rsa.pub | ssh user@remote_host "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"Testa lösenordsfri inloggning
När din offentliga nyckel finns på servern kan du prova att logga in. Om du angav en lösenfras får du ange den. Om inte bör du anslutas direkt utan några lösenordsfrågor!
Det bekräftar att SSH-nyckelautentiseringen fungerar korrekt.
ssh user@remote_hostAnvända `ssh-agent` för bekvämlighet
Om din privata nyckel har en lösenfras måste du ange den varje gång du ansluter. SSH-agenten hjälper till genom att lagra din dekrypterade privata nyckel i minnet.
- Starta agenten:
eval "$(ssh-agent -s)" - Lägg till din nyckel:
ssh-add ~/.ssh/id_rsa(ange lösenfrasen en gång)
Nu kan du ansluta flera gånger utan att ange lösenfrasen igen, tills agenten startas om.
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsaSnabbkontroll: SSH-nyckelfiler
Vilken av följande filer innehåller din offentliga nyckel och kan delas säkert med fjärrservrar?
Sammanfattning: Säker nyckelhantering
Du har lärt dig att konfigurera och hantera SSH-nyckelpar för säker, lösenordsfri autentisering.
- Skapa nycklar med
ssh-keygen. - Förstå privata (
id_rsa) och offentliga (id_rsa.pub) nycklar. - Kopiera offentliga nycklar till servrar med
ssh-copy-ideller manuellt. - Använd
ssh-agentochssh-addför att slippa ange lösenfrasen upprepade gånger.
SSH-nycklar är ett grundläggande verktyg för effektiv och säker fjärråtkomst i Linux!
Lär dig Bemästra Linux-kommandoraden med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Hantering av nycklar för Secure Shell” gratis?
Ja – hela texten till ”Hantering av nycklar för Secure Shell” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Bemästra Linux-kommandoraden, kan Ni uppgradera till CoddyKit PRO. Kursen i Bemästra Linux-kommandoraden innehåller totalt 4 lektioner.
Vad lär jag mig i ”Hantering av nycklar för Secure Shell”?
Implementera lösenordslös SSH-autentisering med nyckelpar för ökad säkerhet och bekvämlighet. Ni övar på Bemästra Linux-kommandoraden med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Bemästra Linux-kommandoraden?
Du behöver inga förkunskaper. Utbildningen i Bemästra Linux-kommandoraden på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Hantering av nycklar för Secure Shell”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Bemästra Linux-kommandoraden-lektionen?
Ja. Varje Bemästra Linux-kommandoraden-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Nätverksdiagnostik: `traceroute`, `nslookup`, `dig`
- Brandväggshantering: `ufw`, `firewalld`, `iptables`
- Hantering av nycklar för Secure Shell
- Fånga och inspektera trafik med tcpdump