1. Začetek
- 1.1 O nadzoru različic
- 1.2 Kratka zgodovina Gita
- 1.3 Kaj je Git?
- 1.4 Ukazna vrstica
- 1.5 Namestitev Gita
- 1.6 Prva nastavitev Gita
- 1.7 Pridobivanje pomoči
- 1.8 Povzetek
2. Osnove Git
3. Veje Git
4. Git na strežniku
5. Porazdeljeni Git
6. GitHub
7. Orodja Git
- 7.1 Izbira revizije
- 7.2 Interaktivno pripravljanje
- 7.3 Shranjevanje na varno (angl. stashing) in čiščenje
- 7.4 Podpisovanje vašega dela
- 7.5 Iskanje
- 7.6 Prepisovanje zgodovine
- 7.7 Demistifikacija ponastavitve
- 7.8 Napredno združevanje
- 7.9 Rerere
- 7.10 Razhroščevanje z Gitom
- 7.11 Podmoduli
- 7.12 Povezovanje v pakete
- 7.13 Zamenjava
- 7.14 Shramba poverilnic
- 7.15 Povzetek
8. Prilagoditev Gita
9. Git in ostali sistemi
- 9.1 Git kot odjemalec
- 9.2 Migracija na Git
- 9.3 Povzetek
10. Notranjost Gita
- 10.1 Napeljava in keramika
- 10.2 Objekti Git
- 10.3 Reference Git
- 10.4 Packfiles (datoteke zmanjšanih podatkov)
- 10.5 Refspec
- 10.6 Protokoli prenosa
- 10.7 Vzdrževanje in obnovitev podatkov
- 10.8 Spremenljivke okolja
- 10.9 Povzetek
A1. Dodatek A: Git v drugih okoljih
- A1.1 Grafični vmesniki
- A1.2 Git v Visual Studio
- A1.3 Git v Visual Studio Code
- A1.4 Git v IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git v Sublime Text
- A1.6 Git v Bashu
- A1.7 Git v Zsh
- A1.8 Git v Powershellu
- A1.9 Povzetek
A2. Dodatek B: Vdelava Gita v vašo aplikacijo
- A2.1 Git v ukazni vrstici
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
A3. Dodatek C: Ukazi Git
- A3.1 Nastavitev in konfiguracija
- A3.2 Pridobivanje in ustvarjanje projektov
- A3.3 Osnove posnetkov
- A3.4 Veje in združevanje
- A3.5 Deljenje in posodabljanje projektov
- A3.6 Pregled in primerjava
- A3.7 Razhroščevanje
- A3.8 Popravljanje
- A3.9 E-pošta
- A3.10 Zunanji sistemi
- A3.11 Administracija
- A3.12 Orodja za sisteme napeljave
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.