Работа с ключами разработчика: различия между версиями
Ldv (обсуждение | вклад) |
|||
(не показана 31 промежуточная версия 15 участников) | |||
Строка 1: | Строка 1: | ||
[[Категория:Devel]] | [[Категория:Devel]] | ||
[[Категория:Sisyphus]] | [[Категория:Sisyphus]] | ||
При [[Процедура принятия в Team|приёме]] участник предоставляет два криптографических ключа, по которым он идентифицируется в дальнейшем. '''Берегите свои приватные ключи!''' | При [[Процедура принятия в Team|приёме]] участник предоставляет два криптографических ключа, по которым он идентифицируется в дальнейшем. '''Берегите свои приватные ключи!''' | ||
Строка 11: | Строка 10: | ||
Если у вас нет SSH-ключа, то создать его можно, например, следующей командой: | Если у вас нет SSH-ключа, то создать его можно, например, следующей командой: | ||
$ ssh-keygen | $ ssh-keygen [-t <тип ключа>] [-b <размер ключа (для RSA)>] | ||
(рекомендуется ключ | (рекомендуется ключ ED25519, RSA >= 4096-bit) | ||
Ключ настоятельно рекомендуется сделать с паролем. Для упрощения работы с ключами с паролями можно воспользоваться [[SSH|SSH-агентом]]. | Ключ настоятельно рекомендуется сделать с паролем. Для упрощения работы с ключами с паролями можно воспользоваться [[SSH|SSH-агентом]]. | ||
Публичная часть | Публичная часть ключа — файл <tt>~/.ssh/id_ed25519.pub</tt> для ED25519-ключа или <tt>~/.ssh/id_rsa.pub</tt> для RSA-ключа. | ||
== Создание GPG-ключа == | == Создание GPG-ключа == | ||
Строка 22: | Строка 21: | ||
Создать новый GPG-ключ можно командой | Создать новый GPG-ключ можно командой | ||
$ gpg --gen-key | $ gpg --gen-key | ||
В процессе ответа на вопросы выберите тип ключа — | В процессе ответа на вопросы выберите тип ключа — RSA и RSA (можно выбрать RSA (sign only), но тогда этот ключ будет непригоден для шифрования), размер — не менее 4096 bit. Имя укажите в формате <tt><First name> <Last name></tt>, в качестве email укажите <tt>псевдоним@altlinux.org</tt>, где <tt>псевдоним</tt> - это тот псевдоним, под которым вы хотите быть в ALT Linux Team (желательно только латинские буквы нижнего регистра). Комментарий лучше оставить пустым. | ||
Все входные данные для <tt>gpg --gen-key</tt> должны быть указаны в ASCII. | |||
== Модификация существующего GPG-ключа == | == Модификация существующего GPG-ключа == | ||
Проверьте, что тип ключа | Проверьте, что тип ключа — RSA, размер не менее 4096bit. Добавьте идентификатор в ключ с помощью команд | ||
$ gpg --edit-key <key id> | $ gpg --edit-key <key id> | ||
Command> adduid | Command> adduid | ||
Укажите своё имя и email вида <tt>псевдоним@altlinux.org</tt>, после чего сохраните изменения | Укажите своё имя (в формате <tt><First name> <Last name></tt>) и uid (email) вида <tt>псевдоним@altlinux.org</tt>, после чего сохраните изменения | ||
Command> save | Command> save | ||
Строка 35: | Строка 35: | ||
Экспортируйте публичную часть ключа для отправки: | Экспортируйте публичную часть ключа для отправки: | ||
$ gpg --armor --export псевдоним@altlinux.org | $ gpg --armor --export псевдоним@altlinux.org | ||
Обратите внимание: может быть экспортировано ''несколько'' ключей с одним uid (email), а требуется ''один'' ключ; в подобном случае (например, после редактирования) удалите лишние ключи из связки перед экспортом: | |||
$ gpg --delete-key старый/ключ | |||
Если же нужно убрать ''подключ'', то сделать это можно непосредственно в процессе экспорта, воспользовавшись функцией фильтрации, которая есть в GnuPG v2. Например: | |||
$ gpg2 --export-filter 'drop-subkey=usage !~ e' --export --armor псевдоним@altlinux.org | |||
отфильтрует подключ для шифрования. | |||
== Обновление существующего GPG-ключа в пакете alt-gpgkeys== | == Обновление существующего GPG-ключа в пакете alt-gpgkeys== | ||
Строка 40: | Строка 50: | ||
Также можно приложить новый ключ, экспортированный в текстовый файл, к заявке. | Также можно приложить новый ключ, экспортированный в текстовый файл, к заявке. | ||
== Обновление SSH-ключа== | |||
Для обновления SSH ключа (в случае, если он не был скомпрометирован), используемого для доступа к git.alt, можно воспользоваться процедурой, аналогичной обновлению GPG ключа - создать специальный репозиторий на git.alt (например, git.alt:private/ssh-key.git) в своём личном пространстве и выложить в нем новый ключ. Этим вы подтверждаете аутентичность модификации. После этого необходимо открыть заявку в [https://bugzilla.altlinux.org Bugzilla] на компонент '''alt-gpgkeys''' для продукта '''Sisyphus''' со ссылкой на созданный репозиторий. В случае, если одновременно обновляются SSH и GPG ключи, ссылку на SSH ключ можно дать в одной заявке с GPG. | |||
=== dsa ключи === | |||
Начиная с версии 7.1p1 ssh-client отказывается работать с ssh-dss: | |||
[https://lists.altlinux.org/pipermail/sisyphus/2016-January/364679.html Обновление ssh от 13.01.16] | |||
рекомендуется обновить ключ, либо включить поддержку ssh-dss в конфигурации своего клиента, как указано в сообщении об обновлении ssh. | |||
== Ссылки == | == Ссылки == | ||
* [http://www.opennet.ru/docs/RUS/gph/ch01.html Быстрый старт] с gpg-ключами на opennet (генерация новой пары ключей, обмен ключами, шифрование, цифровые подписи и их проверка). | * [http://www.opennet.ru/docs/RUS/gph/ch01.html Быстрый старт] с gpg-ключами на opennet (генерация новой пары ключей, обмен ключами, шифрование, цифровые подписи и их проверка). | ||
* [http://www.opennet.ru/docs/RUS/gph/ch03.html Управление ключами] там же (управление вашей парой ключей, проверка достоверности ключей, распространение ключей). | * [http://www.opennet.ru/docs/RUS/gph/ch03.html Управление ключами] там же (управление вашей парой ключей, проверка достоверности ключей, распространение ключей). | ||
{{Category navigation|title=Team|category=Team|sortkey=*}} |
Текущая версия от 12:31, 26 мая 2023
При приёме участник предоставляет два криптографических ключа, по которым он идентифицируется в дальнейшем. Берегите свои приватные ключи!
При утере одного из ключей участник может заменить его, заверив вторым. При утрате обоих ключей участник обязан незамедлительно известить об этом принимающих. Его доступ в git.alt прекращается до восстановления ключей.
Два ключа могут быть восстановлены либо посредством личной встречи с одним из принимающих, либо посылкой их письмом, заверенным ключом одного из участников ALT Linux Team. В последнем случае всю ответственность за дальнейшую безопасность репозитория несёт участник, заверивший ключи.
Создание SSH-ключа
Если у вас нет SSH-ключа, то создать его можно, например, следующей командой:
$ ssh-keygen [-t <тип ключа>] [-b <размер ключа (для RSA)>]
(рекомендуется ключ ED25519, RSA >= 4096-bit)
Ключ настоятельно рекомендуется сделать с паролем. Для упрощения работы с ключами с паролями можно воспользоваться SSH-агентом.
Публичная часть ключа — файл ~/.ssh/id_ed25519.pub для ED25519-ключа или ~/.ssh/id_rsa.pub для RSA-ключа.
Создание GPG-ключа
Создать новый GPG-ключ можно командой
$ gpg --gen-key
В процессе ответа на вопросы выберите тип ключа — RSA и RSA (можно выбрать RSA (sign only), но тогда этот ключ будет непригоден для шифрования), размер — не менее 4096 bit. Имя укажите в формате <First name> <Last name>, в качестве email укажите псевдоним@altlinux.org, где псевдоним - это тот псевдоним, под которым вы хотите быть в ALT Linux Team (желательно только латинские буквы нижнего регистра). Комментарий лучше оставить пустым. Все входные данные для gpg --gen-key должны быть указаны в ASCII.
Модификация существующего GPG-ключа
Проверьте, что тип ключа — RSA, размер не менее 4096bit. Добавьте идентификатор в ключ с помощью команд
$ gpg --edit-key <key id> Command> adduid
Укажите своё имя (в формате <First name> <Last name>) и uid (email) вида псевдоним@altlinux.org, после чего сохраните изменения
Command> save
Отправка публичной части GPG-ключа
Экспортируйте публичную часть ключа для отправки:
$ gpg --armor --export псевдоним@altlinux.org
Обратите внимание: может быть экспортировано несколько ключей с одним uid (email), а требуется один ключ; в подобном случае (например, после редактирования) удалите лишние ключи из связки перед экспортом:
$ gpg --delete-key старый/ключ
Если же нужно убрать подключ, то сделать это можно непосредственно в процессе экспорта, воспользовавшись функцией фильтрации, которая есть в GnuPG v2. Например:
$ gpg2 --export-filter 'drop-subkey=usage !~ e' --export --armor псевдоним@altlinux.org
отфильтрует подключ для шифрования.
Обновление существующего GPG-ключа в пакете alt-gpgkeys
Для замены просроченного или недействительного ключа, используемого для подписи пакетов, необходимо клонировать последнюю актуальную сборку пакета alt-gpgkeys.git, обновить в нём свой ключ и выложить модифицированную версию на git.alt в своё личное пространство (private repo) — этим вы подтверждаете аутентичность модификации. Далее необходимо (пере-)открыть заявку на пакет (компонент) alt-gpgkeys для продукта Sisyphus в багзилле и ждать реакции мэйнтейнера.
Также можно приложить новый ключ, экспортированный в текстовый файл, к заявке.
Обновление SSH-ключа
Для обновления SSH ключа (в случае, если он не был скомпрометирован), используемого для доступа к git.alt, можно воспользоваться процедурой, аналогичной обновлению GPG ключа - создать специальный репозиторий на git.alt (например, git.alt:private/ssh-key.git) в своём личном пространстве и выложить в нем новый ключ. Этим вы подтверждаете аутентичность модификации. После этого необходимо открыть заявку в Bugzilla на компонент alt-gpgkeys для продукта Sisyphus со ссылкой на созданный репозиторий. В случае, если одновременно обновляются SSH и GPG ключи, ссылку на SSH ключ можно дать в одной заявке с GPG.
dsa ключи
Начиная с версии 7.1p1 ssh-client отказывается работать с ssh-dss:
рекомендуется обновить ключ, либо включить поддержку ssh-dss в конфигурации своего клиента, как указано в сообщении об обновлении ssh.
Ссылки
- Быстрый старт с gpg-ключами на opennet (генерация новой пары ключей, обмен ключами, шифрование, цифровые подписи и их проверка).
- Управление ключами там же (управление вашей парой ключей, проверка достоверности ключей, распространение ключей).