Hur man använder SSH-nycklar
Hur man använder SSH-nycklar i Linux: En djupgående guide
Hallå där, Linux-vän! Är du sugen på att avslöja mysterierna med SSH-nycklar? Då har du kommit till rätt ställe! Den här guiden tar dig igenom allt du behöver veta om att använda SSH-nycklar i Linux. Låt oss inte tveka utan dyka rakt in!
Vad är SSH och varför ska jag bry mig om SSH-nycklar?
SSH, eller Secure Shell, är ett säkert protokoll som används för att få åtkomst till fjärrservrar och fjärrdatorer. Tänk på det som en dold passage in i en sluten fästning (din server) som rymmer all magi (data och applikationer). Vore det inte fantastiskt om du kunde kliva in i denna fästning utan att behöva komma ihåg ett komplicerat lösenord varje gång? Det är där SSH-nycklar kommer in i bilden.
SSH-nycklar är ett par kryptografiska nycklar som kan användas för autentisering till en SSH-server och som fungerar som ett alternativ till lösenordsbaserade inloggningar. Detta par består av en privat nyckel (håll den här hemlig) och en offentlig nyckel (den här är till för att delas).
Så låt oss lära oss hur man skapar och använder dessa nycklar!
Steg 1: Kontroll av befintliga SSH-nycklar
Innan vi börjar skapa ett nytt par kontrollerar vi att du redan har SSH-nycklar på din maskin. Starta din terminal och skriv:
ls -al ~/.ssh
Om du ser filer med namnen id_rsa.pub
(din offentliga nyckel) och id_rsa
(din privata nyckel) kan du gratulera, du har redan konfigurerat SSH-nycklar. Om inte, är det dags att generera några!
Steg 2: Generera SSH-nycklar
Nu skapar vi ett nytt SSH-nyckelpar. Kör följande kommando i terminalen:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Glöm inte att ersätta "your_email@example.com" med din faktiska e-postadress. Detta skapar en ny SSH-nyckel med 4096 bitars kryptering (snacka om att vara säker!), kopplad till din e-postadress.
Terminalen uppmanar dig att spara nyckeln. Standardplatsen (~/.ssh/id_rsa
) är vanligtvis ett bra val, så tryck gärna på Enter
för att acceptera den.
Därefter ber den om en lösenfras. Detta är ett extra säkerhetslager för dina SSH-nycklar. Om du vill använda en lösenfras anger du den här och trycker på Enter
. Om du inte vill ange någon lösenfras trycker du bara på Enter
.
Steg 3: Lägga till SSH-nyckel till SSH-Agent
Nästa steg är att lägga till vår nyligen genererade SSH-nyckel till SSH-Agent. Men först måste vi se till att SSH-Agent är igång. För att göra detta, ange:
eval "$(ssh-agent -s)"
När SSH-Agent är igång lägger vi till vår SSH-nyckel till den med hjälp av:
ssh-add ~/.ssh/id_rsa
Det här kommandot lagrar din nyckel så att du inte behöver ange din lösenfras (om du har angett en).
Steg 4: Dela din offentliga nyckel med servern
När dina nycklar har genererats och lagts till i SSH-Agent är det dags att dela din offentliga nyckel med din server. Detta gör att servern känner igen och litar på din maskin.
För att göra detta måste vi visa innehållet i din offentliga nyckel. Använd följande kommando:
cat ~/.ssh/id_rsa.pub
Detta kommando visar en lång sträng som är din offentliga nyckel. Kopiera det, men var noga med att inte lägga till extra mellanslag eller ändra några tecken.
Gå nu in på din server med SSH och hitta filen ~/.ssh/authorized_keys
. Klistra in din offentliga nyckel i den här filen. Om filen eller katalogen inte finns måste du skapa dem.
Steg 5: Logga in med SSH-nycklar
Nu är du redo att logga in på din server med dina SSH-nycklar. Använd bara standard SSH-kommandot:
ssh username@your_server_ip
Och voila! Du är inne, utan att ens behöva komma ihåg ett lösenord. Om du har ställt in en lösenfras kommer du att bli ombedd att ange den nu.
Steg 6: Bonus - Inaktivera lösenordsautentisering
För extra säkerhet kan du inaktivera lösenordsautentiseringen helt så att endast innehavare av SSH-nycklar kan komma åt servern. Leta upp och redigera SSHD-konfigurationsfilen på servern:
sudo nano /etc/ssh/sshd_config
Hitta raden där det står PasswordAuthentication
och ändra den till no
. Spara och stäng sedan filen. Starta om SSH för att tillämpa ändringarna:
sudo systemctl restart ssh
Nu är det bara de som har rätt SSH-nyckel som kan komma åt din server. High five, du har precis ökat din serversäkerhet!
Steg 7: Använda PuTTY för SSH på Windows
Om du använder Windows kanske du undrar hur du använder SSH-nycklar. Det är där PuTTY kommer in i bilden. Det är en gratis terminalemulator med öppen källkod som bland annat stöder SSH-protokoll. Du kan ladda ner PuTTY här.
När du har laddat ner och installerat PuTTY behöver du även PuTTYgen för att generera SSH-nycklar. Du hittar den i mappen PuTTY i Start-menyn, eller på skrivbordet om du valde att skapa en genväg under installationen.
Öppna PuTTYgen och klicka på "Generate". Flytta runt musen i det tomma området för att generera slumpmässighet (eller "entropi") som används för att skapa en säker nyckel. När det är gjort ser du din offentliga nyckel. Du kan ange en lösenfras för extra säkerhet och sedan spara dina offentliga och privata nycklar på en säker plats.
För att ansluta med SSH öppnar du PuTTY, anger serverns IP-adress och port och går sedan till Connection > SSH > Auth i menyn till vänster. Här kan du bläddra för att hitta din privata nyckelfil. Gå sedan tillbaka till sessionsskärmen, spara din session för enkel åtkomst senare och klicka på "Öppna" för att starta SSH-sessionen!
Om du anger en lösenfras när du skapar din nyckel kommer du att uppmanas att ange den innan den dedikerade servern släpper in dig. Nu är du ansluten till din server med SSH i Windows!
Det avslutar vår resa till SSH-nycklar i Linux. Kom ihåg att med stor makt (och stora nycklar) följer stort ansvar. Håll dina nycklar säkra, så håller de din server säker i gengäld. Glad SSH-ing!