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!
-
Öppna Powershell.
-
Skriv in
ssh-keygen
och tryck på enter. -
Följ sedan instruktionerna tills du ser bilden nedan.
Nu finns nyckeln i .ssh
i din användarmapp. (C:\Users\
) i filen ELEV-TAG\[användarnamn]\.sshid_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
-
Gå in på git.ssis.nu och logga in. (Använd ditt Google-konton, elev@stockholmscience.se)
-
Klicka på “Edit profile”
-
Klicka på “SSH Keys”
-
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 -
Klicka sedan på “Add key".
-
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.