Compare commits
1 Commits
main
...
d648f8d418
| Author | SHA1 | Date | |
|---|---|---|---|
|
d648f8d418
|
@@ -9,7 +9,6 @@ GPG ключи по сравнению с SSH ключами имеют боле
|
|||||||
- настройка срока действия ключей с возможностью продления в будущем;
|
- настройка срока действия ключей с возможностью продления в будущем;
|
||||||
- привязка ключей к имени пользователя и почте;
|
- привязка ключей к имени пользователя и почте;
|
||||||
- возможность загрузки публичных ключей на сервера ключей;
|
- возможность загрузки публичных ключей на сервера ключей;
|
||||||
- возможность хранения секретных ключей на аппаратном ключе который поддерживает стандарт OpenPGP Card (например Yubikey)
|
|
||||||
|
|
||||||
Под Windows утилита gpg идет вместе с git. Так что можно работать сразу после установки git.
|
Под Windows утилита gpg идет вместе с git. Так что можно работать сразу после установки git.
|
||||||
|
|
||||||
@@ -82,9 +81,10 @@ gpg --expert --edit-key [id]
|
|||||||
Прежде удалять мастер ключ или переносить сабключи на карту, необходимо сделать бекап (экспорт) всей нашей работы.
|
Прежде удалять мастер ключ или переносить сабключи на карту, необходимо сделать бекап (экспорт) всей нашей работы.
|
||||||
|
|
||||||
```
|
```
|
||||||
gpg -a --export-secret-key [id] > master.key # Экспорт мастер ключа (вместе с сабключами)
|
gpg -a --export-secret-key [id] > master.key # Экспорт основного ключа
|
||||||
gpg -a --export-secret-subkeys [id] > subkeys.key # Экспорт сабключей (не обязательно)
|
gpg -a --export-secret-subkeys [id] > subkeys.key # Экспорт сабключей
|
||||||
gpg -a --export [id] > public.key # Экспорт общего публичного ключа
|
gpg -a --export [id] public.key # Экспорт публичных ключей
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Сохранение на аппаратный ключ
|
## Сохранение на аппаратный ключ
|
||||||
@@ -108,11 +108,11 @@ gpg --edit-key [id] # входим в режим редактиро
|
|||||||
|
|
||||||
## Удаление секретных ключей
|
## Удаление секретных ключей
|
||||||
|
|
||||||
Удаляем секретные ключи:
|
Удалем секретный ключ:
|
||||||
```
|
```
|
||||||
gpg --delete-secret-keys [master-key-id]
|
gpg --delete-secret-keys [id]
|
||||||
```
|
```
|
||||||
Для того чтобы gpg понял что секретные ключи находятся на карте выполняем:
|
Удалятся все секретные ключи. Для того чтобы gpg понял что секретные ключи находятся на карте выполняем:
|
||||||
```
|
```
|
||||||
gpg --card-status
|
gpg --card-status
|
||||||
```
|
```
|
||||||
@@ -160,7 +160,8 @@ signoff = commit --amend --no-edit -s
|
|||||||
|
|
||||||
Если удалить не получается то надо убить процессы:
|
Если удалить не получается то надо убить процессы:
|
||||||
```
|
```
|
||||||
gpgconf --kill all
|
gpgconf --kill gpg-agent
|
||||||
|
gpgconf --kill keyboxd
|
||||||
```
|
```
|
||||||
|
|
||||||
Импортируем ключи с карты:
|
Импортируем ключи с карты:
|
||||||
@@ -182,13 +183,10 @@ gpg --edit-key [id]
|
|||||||
|
|
||||||
Короткий вариант продлить сразу все ключи:
|
Короткий вариант продлить сразу все ключи:
|
||||||
```
|
```
|
||||||
gpg --import ~/master.key # временно импортируем мастер ключ
|
gpg --import ~/master.key # временно импортируем мастер ключ
|
||||||
gpg --quick-set-expire [master-key-fingerprint] 1y '*' # продляем на 1 год с текущей даты
|
gpg --quick-set-expire [master-key-fingerprint] 2y '*'
|
||||||
gpg --quick-set-expire [master-key-fingerprint] 2025-12-31 '*' # или указываем конкретную дату
|
gpg --delete-secret-keys [master-key-id] # удаляем мастер ключ
|
||||||
gpg --delete-secret-keys [master-key-id] # удаляем секретные ключи
|
|
||||||
gpg --keyserver keys.openpgp.org --send-keys [master-key-id] # обновляем на сервере
|
gpg --keyserver keys.openpgp.org --send-keys [master-key-id] # обновляем на сервере
|
||||||
gpg -a --export [master-key-id] > public.key # экспорт публичных ключей
|
|
||||||
# обновляем public.key на всех серверах git
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Или вручную по одному:
|
Или вручную по одному:
|
||||||
@@ -208,9 +206,6 @@ gpg --edit-key [master-key-id]
|
|||||||
> 1y # 1 год например
|
> 1y # 1 год например
|
||||||
> key 3 # снимаем старый выбор
|
> key 3 # снимаем старый выбор
|
||||||
> save # сохраняем (локальные ключи сотрутся!)
|
> save # сохраняем (локальные ключи сотрутся!)
|
||||||
gpg --delete-secret-keys [master-key-id] # удаляем секретные ключи
|
gpg --delete-secret-keys [master-key-id] # удаляем мастер ключ
|
||||||
gpg --keyserver keys.openpgp.org --send-keys [master-key-id] # обновляем на сервере
|
gpg --keyserver keys.openpgp.org --send-keys [master-key-id] # обновляем на сервере
|
||||||
gpg -a --export [master-key-id] > public.key # экспорт публичных ключей
|
|
||||||
# обновляем public.key на всех серверах git
|
|
||||||
```
|
```
|
||||||
Обновлять приватные ключи на аппаратных ключах (Yubikey) не нужно, т.к. там храниться только криптографическая часть, без метаданных.
|
|
||||||
Reference in New Issue
Block a user