Git
Chapters ▾ 2nd Edition

4.3 Git na strežniku - Generiranje vaših javnih ključev SSH

Generiranje vaših javnih ključev SSH

Tako kot je povedano, mnogi strežniki Git izvajajo avtentikacijo z uporabo javnih ključev SSH. Za ponujanje javnega ključa, mora vsak uporabnik v vašem sistemu generirati enega, če ga še nimajo. Ta proces je podoben skozi mnoge operacijske sisteme. Najprej morate preveriti, da zagotovite, da nimate že ključa. Privzeto, uporabnikovi ključi SSH so shranjeni v direktoriju ~/.ssh le tega uporabnika. Lahko enostavno preverite, da vidite, če že imate ključ, tako da greste v ta direktorij in izpišete vsebino:

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

Iščete par datotek poimenovanih nekako kot id_dsa ali id_rsa in ujemanje datoteke s končnivo .pub. Datoteka .pub je vaš javni ključ in druga datoteka je vaš privatni ključ. Če nimate teh datotek (ali nimate niti .ssh direktorij), jih lahko ustvarite s pogonom programa imenovanega ssh-keygen, ki je ponujen v paketu SSH na Linux/Mac sistemih in prihaja z MSysGit paketom na Windows:

$ ssh-keygen
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

Najprej potrdi, kam želite shraniti ključ (.ssh/id_rsa) in nato dvakrat vpraša za geslo, ki ga lahko pustite prazno, če ga ne želite vpisovati, ko uporabljate ključ.

Sedaj vsak uporabnik, ki to naredi, mora poslati njegov javni ključ vam ali komurkoli, ki administrira Git strežnik (v predpostavki, da uporabljate SSH strežnik, ki zahteva javne ključe). Vse kar morajo narediti je kopirati vsebino datoteke .pub in jo poslati po e-pošti. Javni ključi izgledajo nekako takole:

$ 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

Za bolj poglobljen vodič o izdelavi SSH ključev na večih operacijskih sistemih, glejte GitHub-ov vodič o SSH ključih na https://help.github.com/articles/generating-ssh-keys.