Hur man skapar och installerar SSH-nycklar från Linux-skalet

Ta cybersäkerhet på allvar och använd SSH-nycklar för att komma åt fjärrinloggningar. De är ett säkrare sätt att ansluta än lösenord. Vi visar dig hur du genererar, installerar och använder SSH-nycklar i Linux.

Vad är det för fel på lösenord?

Secure shell (SSH) är det krypterade protokollet som används för att logga in på användarkonton på fjärranslutna Linux- eller Unix-liknande datorer. Vanligtvis är sådana användarkonton säkrade med lösenord. När du loggar in på en fjärrdator måste du ange användarnamn och lösenord för kontot du loggar in på.

Lösenord är det vanligaste sättet att säkra åtkomst till datorresurser. Trots detta har lösenordsbaserad säkerhet sina brister. Människor väljer svaga lösenord, delar lösenord, använder samma lösenord på flera system och så vidare.

SSH-nycklar är mycket säkrare och när de väl är konfigurerade är de lika enkla att använda som lösenord.

Vad gör SSH-nycklar säkra?

SSH-nycklar skapas och används i par. De två nycklarna är länkade och kryptografiskt säkra. Den ena är din offentliga nyckel och den andra är din privata nyckel. De är knutna till ditt användarkonto. Om flera användare på en enda dator använder SSH-nycklar kommer de att få varsitt par nycklar.

Din privata nyckel installeras i din hemmapp (vanligtvis), och den offentliga nyckeln är installerad på fjärrdatorn – eller datorer – som du behöver komma åt.

Din privata nyckel måste förvaras säkert. Om det är tillgängligt för andra är du i samma situation som om de hade upptäckt ditt lösenord. En förnuftig – och starkt rekommenderad – försiktighetsåtgärd är att din privata nyckel krypteras på din dator med en robust lösenordsfras.

Den publika nyckeln kan delas fritt utan att kompromissa med din säkerhet. Det är inte möjligt att avgöra vad den privata nyckeln är från en undersökning av den publika nyckeln. Den privata nyckeln kan kryptera meddelanden som endast den privata nyckeln kan dekryptera.

När du gör en anslutningsbegäran använder fjärrdatorn sin kopia av din publika nyckel för att skapa ett krypterat meddelande. Meddelandet innehåller ett sessions-ID och annan metadata. Endast den dator som har den privata nyckeln – din dator – kan dekryptera detta meddelande.

Din dator kommer åt din privata nyckel och dekrypterar meddelandet. Den skickar sedan sitt eget krypterade meddelande tillbaka till fjärrdatorn. Detta krypterade meddelande innehåller bland annat det sessions-ID som togs emot från fjärrdatorn.

Fjärrdatorn vet nu att du måste vara den du säger att du är eftersom endast din privata nyckel kunde extrahera sessions-ID:t från meddelandet som den skickade till din dator.

Se till att du kan komma åt fjärrdatorn

Se till att du kan fjärransluta till och logga in på fjärrdatorn. Detta bevisar att ditt användarnamn och lösenord har ett giltigt konto inställt på fjärrdatorn och att dina referenser är korrekta.

Försök inte göra något med SSH-nycklar förrän du har verifierat att du kan använda SSH med lösenord för att ansluta till måldatorn.

I det här exemplet är en person med ett användarkonto som heter dave inloggad på en dator som heter wdzwdz . De ska ansluta till en annan dator som heter Sulaco.

De anger följande kommando:

ssh [email protected]

De tillfrågas om sitt lösenord, de anger det och de är anslutna till Sulaco. Deras kommandoradsprompt ändras för att bekräfta detta.

Det är all bekräftelse vi behöver. Så användaren Dave kan koppla från Sulaco med exit-kommandot:

exit

De får meddelandet frånkoppling och deras kommandoradsprompt återgår till [email protected]

Skapa ett par SSH-nycklar

Dessa instruktioner testades på Ubuntu-, Fedora- och Manjaro-distributioner av Linux. I alla fall var processen identisk och det fanns inget behov av att installera någon ny programvara på någon av testmaskinerna.

För att generera dina SSH-nycklar, skriv följande kommando:

ssh-keygen

Genereringsprocessen börjar. Du kommer att tillfrågas var du vill att dina SSH-nycklar ska lagras. Tryck på Enter för att acceptera standardplatsen. Behörigheterna för mappen skyddar den endast för din användning.

Du kommer nu att bli ombedd att ange en lösenfras. Vi rekommenderar starkt att du anger en lösenfras här. Och kom ihåg vad det är! Du kan trycka på Enter för att inte ha någon lösenfras, men det är ingen bra idé. En lösenfras som består av tre eller fyra osammanhängande ord, sammansatta kommer att göra en mycket robust lösenfras.

Du kommer att bli ombedd att ange samma lösenfras en gång till för att verifiera att du har skrivit det du trodde att du hade skrivit.

SSH-nycklarna genereras och lagras åt dig.

Du kan ignorera ”randomart” som visas. Vissa fjärrdatorer kan visa dig sin slumpmässiga konst varje gång du ansluter. Tanken är att du kommer att känna igen om den slumpmässiga arten ändras och att du är misstänksam mot anslutningen eftersom det betyder att SSH-nycklarna för den servern har ändrats.

Installera den offentliga nyckeln

Vi måste installera din publika nyckel på Sulaco , fjärrdatorn, så att den vet att den offentliga nyckeln tillhör dig.

Vi gör detta med kommandot ssh-copy-id. Detta kommando gör en anslutning till fjärrdatorn som det vanliga ssh-kommandot, men istället för att tillåta dig att logga in, överför det den offentliga SSH-nyckeln.

ssh-copy-id [email protected]

Även om du inte loggar in på fjärrdatorn måste du fortfarande autentisera med ett lösenord. Fjärrdatorn måste identifiera vilket användarkonto den nya SSH-nyckeln tillhör.

Observera att lösenordet du måste ange här är lösenordet för det användarkonto du loggar in på. Det här är inte lösenfrasen du just skapade.

När lösenordet har verifierats överför ssh-copy-id din publika nyckel till fjärrdatorn.

Du återgår till kommandotolken på din dator. Du lämnas inte ansluten till fjärrdatorn.

Ansluter med SSH-nycklar

Låt oss följa förslaget och försöka ansluta till fjärrdatorn.

ssh [email protected]

Eftersom anslutningsprocessen kräver åtkomst till din privata nyckel, och eftersom du skyddade dina SSH-nycklar bakom en lösenfras, måste du ange din lösenfras så att anslutningen kan fortsätta.

Ange din lösenordsfras och klicka på Lås upp-knappen.

När du väl har angett din lösenfras i en terminalsession behöver du inte ange den igen så länge du har terminalfönstret öppet. Du kan ansluta och koppla från så många fjärrsessioner du vill utan att ange din lösenordsfras igen.

Du kan kryssa i kryssrutan för alternativet ”Lås upp den här nyckeln automatiskt när jag är inloggad”, men det minskar din säkerhet. Om du lämnar din dator utan uppsikt kan vem som helst göra anslutningar till fjärrdatorerna som har din publika nyckel.

När du har angett din lösenordsfras är du ansluten till fjärrdatorn.

För att verifiera processen än en gång, koppla från med exit-kommandot och återanslut till fjärrdatorn från samma terminalfönster.

ssh [email protected]

Du kommer att vara ansluten till fjärrdatorn utan att du behöver ett lösenord eller lösenordsfras.

Inga lösenord, men förbättrad säkerhet

Cybersäkerhetsexperter pratar om något som kallas säkerhetsfriktion. Det är den mindre smärtan du måste stå ut med för att få extra säkerhet. Det krävs vanligtvis några extra steg eller två för att anta en säkrare arbetsmetod. Och de flesta gillar det inte. De föredrar faktiskt lägre säkerhet och bristen på friktion. Det är den mänskliga naturen.

Med SSH-nycklar får du ökad säkerhet och ökad bekvämlighet. Det är en klar win-win.