Git 🌙
Chapters ▾ 2nd Edition

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

Generiranje vaših javnih ključev SSH

Mnogi strežniki Git izvajajo overjanje z uporabo javnih ključev SSH. Da se ponudi javni ključ, ga mora generirati vsak uporabnik v vašem sistemu, če ga še nima. Ta proces je podoben v vseh operacijskih sistemih. Najprej morate preveriti, da zagotovite, da nimate že ključa. Privzeto so uporabniški ključi SSH shranjeni v uporabnikovem direktoriju ~/.ssh. Enostavno lahko preverite, ali ž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 pripadajoče datoteke s končnico .pub. Datoteka .pub je vaš javni ključ in druga datoteka je vaš zasebni ključ. Če nimate teh datotek (ali nimate niti direktorija .ssh), jih lahko ustvarite s pogonom programa imenovanega ssh-keygen, ki je v paketu SSH na sistemih Linux/macOS in v Gitu za 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

Najprej potrdi, kam želite ključ shraniti (.ssh/id_rsa), in nato dvakrat vpraša za geslo, ki ga lahko pustite prazno, če gesla ne želite vpisovati, ko uporabljate ključ. Vendar če uporabite geslo, zagotovite, da dodate možnost -o; zasebni ključ shrani v obliko, ki je bolj obstojna proti napadom razbijanja gesel z grobo silo, kot pa privzeta oblika. Lahko uporabite tudi orodje ssh-agent, da se izognete vsakokratnemu vpisovanju gesla.

Vsak uporabnik, ki to naredi, vam mora poslati svoj javni ključ vam ali komurkoli, ki upravlja strežnik Git (ob predpostavki, da uporabljate strežnik SSH, ki zahteva javne ključe). Vse kar morajo narediti, je kopirati vsebino datoteke .pub in jo poslati po e-pošti. Javni ključi so videti 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 vodnik o izdelavi ključev SSH na več operacijskih sistemih, glejte GitHubov vodnik o ključih SSH na https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.

scroll-to-top