Введение
Многие Git-серверы используют аутентификацию по открытым SSH-ключам. Эта статья описывает процесс генерации SSH-ключа с помощью утилиты ssh-keygen, проверки наличия существующих ключей и передачи открытого ключа администратору Git-сервера. Процесс одинаков для всех операционных систем, включая Linux, macOS и Windows.
Проверка наличия SSH-ключей
SSH-ключи пользователя обычно хранятся в каталоге ~/.ssh в домашнем каталоге. Чтобы проверить наличие ключей, выполните:
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa id_dsa.pub config known_hosts
Ищите файлы id_dsa или id_rsa (приватный ключ) и соответствующие id_dsa.pub или id_rsa.pub (открытый ключ). Если эти файлы или каталог ~/.ssh отсутствуют, необходимо сгенерировать новые ключи.
Генерация SSH-ключа
Для создания SSH-ключа используйте утилиту ssh-keygen, которая доступна в Linux и macOS, а в Windows поставляется с Git. Выполните:
$ 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
Процесс включает:
- Указание пути для сохранения ключа (по умолчанию
~/.ssh/id_rsa). - Ввод пароля для шифрования приватного ключа (можно оставить пустым).
- Повтор ввода пароля.
Примечание: Опция -o обеспечивает более устойчивый к взлому формат ключа. Без пароля ключ используется без ввода пароля при каждом подключении, но это менее безопасно. Для автоматизации можно использовать ssh-agent.
Передача открытого ключа
После генерации ключа отправьте открытый ключ (файл id_rsa.pub) администратору Git-сервера. Просмотрите содержимое ключа командой:
$ 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/authorized_keys на сервере для предоставления доступа.
Заключение
Генерация SSH-ключа с помощью ssh-keygen — простой процесс, необходимый для аутентификации на Git-серверах. Проверьте наличие ключей, сгенерируйте новые при необходимости и передайте открытый ключ администратору. Использование пароля и ssh-agent повышает безопасность и удобство работы.
Отзывы