Skip to main content

Создание ключа GPG

Если у вас нет существующего ключа GPG, можно создать новый ключ GPG для подписывания фиксаций и тегов.

Platform navigation

Поддерживаемые алгоритмы ключей GPG

GitHub поддерживает несколько алгоритмов ключей GPG. При попытке добавить ключ, созданный с помощью неподдерживаемого алгоритма, может возникнуть ошибка.

  • RSA
  • ElGamal
  • DSA
  • ECDH
  • ECDSA
  • EdDSA

Создание ключа GPG

Примечание. Перед созданием ключа GPG необходимо подтвердить свой адрес электронной почты. Если вы не проверили свой адрес электронной почты, вы не сможете подписывать фиксации и теги с помощью групповой политики. Дополнительные сведения см. в разделе "Подтверждение адреса электронной почты".

  1. Скачайте и установите программы командной строки GPG для своей операционной системы. Как правило, рекомендуется устанавливать последнюю версию для вашей операционной системы.

  2. Откройте ТерминалТерминалGIT Bash.

  3. Создайте пару ключей GPG. Так как версий GPG несколько, может потребоваться обратиться к соответствующей странице руководства, чтобы найти команду создания ключей.

    • Если вы используете версию 2.1.17 или более позднюю, вставьте приведенный ниже текст, чтобы создать пару ключей GPG.

      Shell
      gpg --full-generate-key
      
    • В других версиях команда gpg --full-generate-key не работает. Вставьте приведенный ниже текст и перейдите к шагу 6.

      Shell
      gpg --default-new-key-algo rsa4096 --gen-key
      
  4. В командной строке укажите нужный тип ключа или нажмите клавишу Enter, чтобы принять значение по умолчанию.

  5. В командной строке укажите нужный размер ключа или нажмите клавишу Enter, чтобы принять значение по умолчанию.

  6. Введите срок действия ключа. Нажмите Enter, чтобы принять значение по умолчанию: бессрочный ключ. Если вам не требуется установка даты окончания срока действия, рекомендуется принять значение по умолчанию.

  7. Проверьте правильность выбранных параметров.

  8. Введите идентификатор пользователя.

    Примечание. При запросе адреса электронной почты введете подтвержденный адрес, связанный с вашей учетной записью GitHub. Если вы хотите, чтобы ваш адрес электронной почты оставался личным, используйте адрес электронной почты no-reply, предоставленный GitHub. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Подтверждение адреса электронной почты](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address)".

  9. Введите надежную парольную фразу.

  10. Команда gpg --list-secret-keys --keyid-format=long позволяет получить длинную форму ключей GPG, для которых у вас есть открытый и закрытый ключ. Закрытый ключ необходим для подписания фиксаций или тегов.

    Shell
    gpg --list-secret-keys --keyid-format=long
    

    Примечание. В некоторых установках GPG в Linux для просмотра списка существующих ключей может требоваться gpg2 --list-keys --keyid-format LONG. В этом случае также нужно будет настроить Git для использования gpg2, выполнив git config --global gpg.program gpg2.

  11. Из списка ключей GPG скопируйте длинную форму идентификатора ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является 3AA5C34371567BD2:

    Shell
    
    $ gpg --list-secret-keys --keyid-format=long
    /Users/hubot/.gnupg/secring.gpg
    ------------------------------------
    sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
    uid                          Hubot <hubot@example.com>
    ssb   4096R/4BB6D45482678BE3 2016-03-10
    
  12. Вставьте приведенный ниже текст, подставив нужный идентификатор ключа GPG. В этом примере идентификатором ключа GPG является 3AA5C34371567BD2:

    gpg --armor --export 3AA5C34371567BD2
    # Prints the GPG key ID, in ASCII armor format
    
  13. Скопируйте ключ PGP, начиная с -----BEGIN PGP PUBLIC KEY BLOCK----- и заканчивая -----END PGP PUBLIC KEY BLOCK-----.

  14. Добавьте ключ GPG в учетную запись GitHub.

Дополнительные материалы