Git
Chapters ▾ 2nd Edition

4.3 Git на сервері - Генерація вашого публічного ключа SSH

Генерація вашого публічного ключа SSH

Багато Git серверів авторизуються за допомогою публічних ключів SSH. Щоб надати публічний ключ, кожен користувач вашої системи має його згенерувати, якщо в них його досі нема. Цей процес однаковий незалежно від операційної системи. Спочатку треба переконатися, що у вас ще нема ключа. Без додаткових опцій, ключі SSH користувача зберігаються у теці ~/.ssh. Ви можете легко побачити, чи ви вже маєте ключ, якщо перейдете до теки та подивитесь на її зміст:

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

Шукайте пару файлів з назвою схожою на id_dsa чи id_rsa та відповідний файл з розширенням .pub. Файл .pub і є вашим публічним ключем, а другий файл – це ваш приватний ключ. Якщо у вас немає цих файлів (або ви навіть не маєте теки .ssh), ви можете створити їх за допомогою програми ssh-keygen, яка поставляється разом з пакетом SSH на Linux/Mac системах та входить до Git для 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

Спочатку вона дізнається, де ви бажаєте зберегти ключ (.ssh/id_rsa), а потім двічі питає passphrase, яку ви можете залишити пустою, якщо не бажаєте при кожному використанні ключа набирати пароль.

Тепер кожен користувач має це зробити та відправити свій публічний ключ до вас чи до того, хто адмініструє Git сервер (у разі використання SSH серверу що вимагає публічних ключів). Все що їм треба зробити – скопіювати вміст файлу .pub та відправити його електронною поштою. Публічні ключі виглядають приблизно так:

$ 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

Для докладнішої інструкції по використанню SSH ключів на багатьох операційних системах, дивіться посібник GitHub щодо SSH ключів за адресою https://help.github.com/articles/generating-ssh-keys.