Chapters ▾ 2nd Edition

4.3 Git on the Server - Jou Publieke SSH-sleutel Genereer (Generating Your SSH Public Key)

Jou Publieke SSH-sleutel Genereer (Generating Your SSH Public Key)

Baie Git-bedieners verifieer (authenticate) met behulp van publieke SSH-sleutels (SSH public keys). Om 'n publieke sleutel te verskaf, moet elke gebruiker in jou stelsel een genereer as hulle nie reeds een het nie. Hierdie proses is soortgelyk oor alle bedryfstelsels (operating systems) heen. Eerstens moet jy seker maak dat jy nie reeds 'n sleutel het nie. By verstek (by default) word 'n gebruiker se SSH-sleutels in daardie gebruiker se ~/.ssh gids (directory) gestoor. Jy kan maklik kyk of jy reeds 'n sleutel het deur na daardie gids te gaan en die inhoud te lys:

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

Jy is op soek na 'n paar lêers met 'n naam soos id_dsa of id_rsa en 'n bypassende lêer met 'n .pub uitbreiding (extension). Die .pub lêer is jou publieke sleutel, en die ander lêer is die ooreenstemmende privaat sleutel (private key). As jy nie hierdie lêers het nie (of jy het nie eens 'n .ssh gids nie), kan jy dit skep deur 'n program genaamd ssh-keygen uit te voer, wat saam met die SSH-pakket op Linux/macOS-stelsels verskaf word en saam met Git vir Windows kom:

$ 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

Eers bevestig dit waar jy die sleutel wil stoor (.ssh/id_rsa), en dan vra dit twee keer vir 'n wagwoordfrase (passphrase), wat jy leeg kan laat as jy nie 'n wagwoord wil intik wanneer jy die sleutel gebruik nie. As jy egter wel 'n wagwoord gebruik, maak seker dat jy die -o opsie byvoeg; dit stoor die privaat sleutel in 'n formaat wat meer bestand is teen brute-krag wagwoordkraking (brute-force password cracking) as wat die verstekformaat is. Jy kan ook die ssh-agent instrument gebruik om te verhoed dat jy elke keer die wagwoord moet intik.

Nou moet elke gebruiker wat dit doen hul publieke sleutel aan jou stuur, of aan wie ook al die Git-bediener administreer (met die veronderstelling dat jy 'n SSH-bedieneropstelling gebruik wat publieke sleutels vereis). Al wat hulle hoef te doen is om die inhoud van die .pub lêer te kopieer en dit te e-pos. Die publieke sleutels lyk min of meer so:

$ 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

Vir 'n meer in-diepte tutoriaal oor die skep van 'n SSH-sleutel op verskeie bedryfstelsels, sien die GitHub-gids oor SSH-sleutels by https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.