Git
Chapters ▾ 2nd Edition

4.3 Git på servern - Generera din publika SSH-nyckel

Generera din publika SSH-nyckel

Många Gitservrar autentiserar genom publica SSH-nycklar. För att tillhandahålla en publik nyckel måste varje användare i ditt sytem generera en ifall de inte redan har gjort det. Processen är lika på alla operativsystem. Kontrollera först att du inte redan har en nyckel. Normalt är en användares SSH-nycklar sparade i användarens ~/.ssh-katalog. Du kan enkelt kontrollera om du redan har en nyckel genom att gå till den katalogen och lista innehållet:

$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub

Du letar efter ett filpar som heter något i stil med id_dsa eller id_rsa och en matchande fil med filändelsen .pub. Den sistnämnda .pub-filen är din publika nyckeln, medan den andra är dess motsvarande privata nyckel. Om du inte har dessa filerna (eller inte ens har en .ssh-katalog) kand u skapa dem genom att köra programmet ssh-keygen, som finns i SSH-paketet på Linux/Mac system och kommer med Git för Windows:

$ ssh-keygen -o
Generating public/private rsa key pair.
Enter file in which to save the key (/home/schacon/.ssh/id_rsa):
Created directory '/home/schacon/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_rsa.
Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local

Först bekräftar den var du vill spara nyckeln (.ssh/id_rsa) och sedan frågar den två gånger för ett lösenord, som du kan lämna blank om du inte vill skriva in ett lösenord varje gång du använder nyckeln. Om du dock väljer att använda ett lösenord, lägg då till flaggan -o; den sparar den privata nyckeln i ett format som är mer resistant för brute-force lösenodsknäckning än det vanliga formatet. Du kan också använda verktyget ssh-agent för att slippa mata in lösenordet varje gång.

Varje användare som gör detta måste skicka sin publika nyckel till dig eller den som administrerar Gitserver (under antagandet att du använder en SSH-serverkonfiguration som kräver publika nycklar). Allt de behöver göra är att kopiera innehållet i .pub-filen och e-posta det. Den publika nyckeln ser ut något liknande detta:

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@mylaptop.local

För en mer detaljerad handledning i hur man skapar en SSH-nyckel på flera operativsystem, se guiden om SSH-nycklar på https://help.github.com/articles/generating-ssh-keys.

scroll-to-top