Compare commits

...

5 Commits

Author SHA1 Message Date
9d7356bd96 workbench.list.openMode 2026-03-05 18:16:04 +03:00
39b27546f6 use list 2026-02-23 03:57:52 +03:00
9292749b05 window title 2026-02-23 03:53:18 +03:00
35ff17714c vscode useful settings 2026-02-23 03:10:25 +03:00
7cb846a84c gpg key expire 2026-01-21 12:41:17 +03:00
2 changed files with 58 additions and 10 deletions

View File

@@ -9,6 +9,7 @@ GPG ключи по сравнению с SSH ключами имеют боле
- настройка срока действия ключей с возможностью продления в будущем;
- привязка ключей к имени пользователя и почте;
- возможность загрузки публичных ключей на сервера ключей;
- возможность хранения секретных ключей на аппаратном ключе который поддерживает стандарт OpenPGP Card (например Yubikey)
Под Windows утилита gpg идет вместе с git. Так что можно работать сразу после установки git.
@@ -81,10 +82,9 @@ gpg --expert --edit-key [id]
Прежде удалять мастер ключ или переносить сабключи на карту, необходимо сделать бекап (экспорт) всей нашей работы.
```
gpg -a --export-secret-key [id] > master.key # Экспорт основного ключа
gpg -a --export-secret-subkeys [id] > subkeys.key # Экспорт сабключей
gpg -a --export [id] public.key # Экспорт публичных ключей
gpg -a --export-secret-key [id] > master.key # Экспорт мастер ключа (вместе с сабключами)
gpg -a --export-secret-subkeys [id] > subkeys.key # Экспорт сабключей (не обязательно)
gpg -a --export [id] > public.key # Экспорт общего публичного ключа
```
## Сохранение на аппаратный ключ
@@ -108,11 +108,11 @@ gpg --edit-key [id] # входим в режим редактиро
## Удаление секретных ключей
Удалем секретный ключ:
Удаляем секретные ключи:
```
gpg --delete-secret-keys [id]
gpg --delete-secret-keys [master-key-id]
```
Удалятся все секретные ключи. Для того чтобы gpg понял что секретные ключи находятся на карте выполняем:
Для того чтобы gpg понял что секретные ключи находятся на карте выполняем:
```
gpg --card-status
```
@@ -127,7 +127,7 @@ https://keys.openpgp.org/
Ключи лучше загружать через web-интерфес чтобы получить ссылку для верификации почты.
После того как public ключ загружен на сервер, можно добавить URL ключа в настройки карты. Тогда будет возможно настравить новый компьютер совсем просто:
После того как public ключ загружен на сервер, можно добавить URL ключа в настройки карты. Тогда будет возможно настраивать новый компьютер совсем просто:
```
gpg --card-edit # Заходим в настройки карты
> fetch # Скачиваем public ключ
@@ -160,8 +160,7 @@ signoff = commit --amend --no-edit -s
Если удалить не получается то надо убить процессы:
```
gpgconf --kill gpg-agent
gpgconf --kill keyboxd
gpgconf --kill all
```
Импортируем ключи с карты:
@@ -178,3 +177,40 @@ gpg --edit-key [id]
5
> quit
```
## Продление ключей
Короткий вариант продлить сразу все ключи:
```
gpg --import ~/master.key # временно импортируем мастер ключ
gpg --quick-set-expire [master-key-fingerprint] 1y '*' # продляем на 1 год с текущей даты
gpg --quick-set-expire [master-key-fingerprint] 2025-12-31 '*' # или указываем конкретную дату
gpg --delete-secret-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
```
Или вручную по одному:
```
gpg --import ~/master.key # временно импортируем мастер ключ
gpg --edit-key [master-key-id]
> key 1 # выбираем первый сабключ
> expire # редактируем срок действия
> 1y # 1 год например
> key 1 # снимаем старый выбор
> key 2 # выбираем следующий сабключ
> expire # редактируем срок действия
> 1y # 1 год например
> key 2 # снимаем старый выбор
> key 3 # выбираем следующий сабключ
> expire # редактируем срок действия
> 1y # 1 год например
> key 3 # снимаем старый выбор
> save # сохраняем (локальные ключи сотрутся!)
gpg --delete-secret-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) не нужно, т.к. там храниться только криптографическая часть, без метаданных.

View File

@@ -45,3 +45,15 @@
- `%USERPROFILE%\.vscode`
- `%AppData%\Code`
## VS Code полезные настройки
- `files.autoSave` - автоматическое сохранение файлов
- `workbench.editor.enablePreview` - открытие файлов в режиме preview
- `editor.renderWhitespace` - показ табов/пробелов
- `window.zoomLevel` - масштаб по умолчанию
- `terminal.integrated.cursorStyle` - вид курсора в терминале (line)
- `terminal.integrated.cursorBlinking` - (check)
- `terminal.integrated.cursorStyleInactive` - (underline)
- `editor.occurrencesHighlight` - подсветка при постановке курсора (off)
- `window.title` - называние окна и кнопки в панели задач (${rootName}${separator}${profileName})
- `workbench.list.openMode` - как открывать файлы (doubleClick)