Hoppa till huvudinnehåll

SSH-nycklar i Git

Vad är SSH & en SSH-nyckel?

SSH står för Secure Shell och är ett protokollnätverksprotokoll som användsgör fördet enklare att ansluta sig säkert mottill andra datorerdatorer, speciellt över internet eller på ett lokaltosäkert nätverk. DetEn går att autentisera sig med hjälp av användarnamn och lösenord men detSSH-nyckel är betydligthur säkrareman attkrypterar och avkrypterar informationen, det gör datorn automatiskt. Med SSH-nycklar användander s.k.man oftast inte lösenord.

SSH-nycklar 

En SSH-nycklar.nyckel Detinnehåller två delar, en privat och en publik del. 

Den publika nyckeln (.pub)

Den publika nyckeln är den delen av nycklen du delar ut till exempelandra väldigttjänster vanligtsom attett använda"har SSHdu förden att administrera Linux maskiner, men dehär, kan användasdu förstå mig"-kort. Den här nyckeln kan du fritt sprida till exempelvis Github eller vår egen GitLab för att autentisera en användare på en hel drös olika system på internet.dig. 

SSH-nyckelparDen privata nyckeln

Det finns två delar till en SSH-nyckel: en publik del och en privat del. Den publika delen heter som standard id_rsa.pub och den privata delen id_rsa

Du ska aldrig dela med dig av den privata delen av din SSH-nyckel eftersom det är den delen av nyckeln som autentiserar att det verkligen är du som ansluter. Du kan identifiera den publika delen av din nycken som du kan dela med dig av för den har .pub i slutet. 

Med den här SSH-nyckeln kan du ansluta till andra datorer - där din SSH-nyckel finns sparad - utan att behöva ange ett lösenord. Det innebär också att du kan använda GitLabs (eller GitHub) commits utan att behöva specificera användare och ytterligare autentisering varje gång du ska pusha något till ditt repository.

Skapa SSH-nyckelpar i Windows!

  1. Öppna Powershell.

  2. Skriv in ssh-keygen och tryck på enter.

  3. Följ sedan instruktionerna tills du ser bilden nedan.

image-1620048931052.png

Nu finns nyckeln i .ssh i din användarmapp. (C:\Users\ELEV-TAG\[användarnamn]\.ssh) i filen id_rs.pub

Skapa en SSH-nyckel i Linux!

Det finns en mer detaljerad guide här som man kan följa, men den är på engelska.

Steg 1 - Skapa ett SSH-nyckelpar på den klienten du ska använda

I terminalen i Linux (eller ekvivalent WSL på Windows) skriver du in:

$ ssh-keygen -t rsa

Följ sedan instruktionerna som ges. 

Du behöver inte ange en passphrase såvida du inte vill ha ett extra lager av säkerhet ifall någon skulle komma över din privata SSH-nyckel. Men då skulle du behöva ange din passphrase varje gång du vill koppla dig via SSH med din nyckel.

När du har gått igenom processen kommer du  i ~/.ssh återfinna två filer (eller flera om du har flera nycklar) en id_rsa.pub och en id_rsa (eller vilket namn du nu valt). Det är innehållet i id_rsa.pub som du ska använda ifall du vill autentisera dig emot GitLab. 

Använd SSH-nyckeln i Git

  1. Gå in på git.ssis.nu och logga in. (Använd ditt Google-konton, elev@stockholmscience.se)

  2. Klicka på “Edit profile”

  3. Klicka på “SSH Keys”

  4. Kopiera allt i filen id_rsa.pub som vi hittar i .ssh i din användarmapp. C:\Users\ELEV-TAG\.ssh eller i ~/.ssh i Linux

  5. Klicka sedan på “Add key".

  6. Klistra in nyckeln i rutan och klicka på spara.

Nu har din nya nyckel registrerats på skolans GitLab och nu kan du klona och skicka upp commits till dina repositories via SSH.