{"meta":{"title":"새 GPG 키 생성","intro":"기존 GPG 키가 없는 경우 커밋 및 태그 서명에 사용할 새 GPG 키를 생성할 수 있습니다.","product":"인증","breadcrumbs":[{"href":"/ko/authentication","title":"인증"},{"href":"/ko/authentication/managing-commit-signature-verification","title":"커밋 서명 확인"},{"href":"/ko/authentication/managing-commit-signature-verification/generating-a-new-gpg-key","title":"새 GPG 키 생성"}],"documentType":"article"},"body":"# 새 GPG 키 생성\n\n기존 GPG 키가 없는 경우 커밋 및 태그 서명에 사용할 새 GPG 키를 생성할 수 있습니다.\n\n### 지원되는 GPG 키 알고리즘\n\nGitHub는 여러 GPG 키 알고리즘을 지원합니다. 지원되지 않는 알고리즘으로 생성된 키를 추가하려고 하면 오류가 발생할 수 있습니다.\n\n* RSA\n* ElGamal\n* DSA\n* ECDH\n* ECDSA\n* EdDSA\n\n## GPG 키 생성\n\n> \\[!NOTE]\n> 새 GPG 키를 생성하기 전에 메일 주소를 확인했는지 확인합니다. 전자 메일 주소를 확인하지 않은 경우 GPG를 사용하여 커밋 및 태그에 서명할 수 없습니다. 자세한 내용은 [이메일 주소 확인](/ko/account-and-profile/how-tos/email-preferences/verifying-your-email-address)을 참조하세요.\n\n1. 해당 운영 체제에 대한 [GPG 명령줄 도구](https://www.gnupg.org/download/)를 다운로드 및 설치합니다. 일반적으로 운영 체제에 대한 최신 버전을 설치하는 것이 좋습니다.\n\n2. <span class=\"platform-mac\">터미널</span><span class=\"platform-linux\">터미널</span><span class=\"platform-windows\">Git Bash</span>를 엽니다.\n\n3. GPG 키 쌍을 생성합니다. 여러 버전의 GPG가 있으므로 적절한 키 생성 명령을 찾으려면 관련 [*기본 페이지*](https://en.wikipedia.org/wiki/Man_page)를 참조해야 할 수 있습니다.\n   * 버전 2.1.17 이상인 경우 아래 텍스트를 붙여넣어 GPG 키 쌍을 생성합니다.\n\n     ```shell copy\n     gpg --full-generate-key\n     ```\n\n   * 버전 2.1.17 이상이 아닌 경우 `gpg --full-generate-key` 명령이 작동하지 않습니다. 아래 텍스트를 붙여넣고 6단계로 건너뜁니다.\n\n     ```shell copy\n     gpg --default-new-key-algo rsa4096 --gen-key\n     ```\n\n4. 프롬프트에서 원하는 키 종류를 지정하거나 `Enter`를 눌러 기본값을 적용합니다.\n\n5. 프롬프트에서 원하는 키 크기를 지정하거나 `Enter`를 눌러 기본값을 적용합니다.\n\n6. 키가 유효해야 하는 시간을 입력합니다.\n   `Enter` 키를 눌러 키가 만료되지 않음을 나타내는 기본 선택을 지정합니다. 만료 날짜가 필요하지 않은 경우 이 기본값을 적용하는 것이 좋습니다.\n\n7. 선택한 내용이 올바른지 확인합니다.\n\n8. 사용자 ID 정보를 입력합니다.\n\n   > \\[!NOTE]\n   > 전자 메일 주소를 입력하라는 메시지가 표시되면 GitHub 계정의 확인된 전자 메일 주소를 입력해야 합니다.\n\n메일 주소를 프라이빗으로 유지하려는 경우 GitHub에서 제공한 `no-reply` 메일 주소를 사용합니다.\n\n자세한 내용은 [AUTOTITLE 및 AUTOTITLE](/ko/account-and-profile/how-tos/email-preferences/verifying-your-email-address) 을 참조 [하세요](/ko/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address).\n\n1. 보안 암호를 입력합니다.\n\n2. `gpg --list-secret-keys --keyid-format=long` 명령을 사용하여 퍼블릭 키와 프라이빗 키가 모두 있는 긴 형식의 GPG 키를 나열합니다. 커밋 또는 태그에 서명하려면 프라이빗 키가 필요합니다.\n\n   ```shell copy\n   gpg --list-secret-keys --keyid-format=long\n   ```\n\n   > \\[!NOTE]\n   > Linux에서 일부 GPG를 설치하려면 기존 키 목록을 대신 보는 데 `gpg2 --list-keys --keyid-format LONG`을 사용해야 할 수 있습니다. 이 경우 `git config --global gpg.program gpg2`를 실행하여 `gpg2`를 사용할 Git도 구성해야 합니다.\n\n3. GPG 키 목록에서 사용할 GPG 키 ID의 긴 형식을 복사합니다. 이 예제에서 GPG 키 ID는 `3AA5C34371567BD2`입니다.\n\n   ```shell copy\n   $ gpg --list-secret-keys --keyid-format=long\n   /Users/hubot/.gnupg/secring.gpg\n   ------------------------------------\n   sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]\n   uid                          Hubot <hubot@example.com>\n   ssb   4096R/4BB6D45482678BE3 2016-03-10\n   ```\n\n4. 사용하려는 GPG 키 ID로 대체하여 아래 텍스트를 붙여넣습니다. 이 예제에서 GPG 키 ID는 `3AA5C34371567BD2`입니다.\n\n   ```shell copy\n   gpg --armor --export 3AA5C34371567BD2\n   # Prints the GPG key ID, in ASCII armor format\n   ```\n\n5. `-----BEGIN PGP PUBLIC KEY BLOCK-----`로 시작하고 `-----END PGP PUBLIC KEY BLOCK-----`로 끝나는 GPG 키를 복사합니다.\n\n6. [ GPG 키를 GitHub 계정에 추가했습니다](/ko/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account).\n\n## 추가 참고 자료\n\n* [기존 GPG 키 확인](/ko/authentication/managing-commit-signature-verification/checking-for-existing-gpg-keys)\n* [GitHub 계정에 GPG 키 추가](/ko/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account)\n* [서명 키에 대해 Git에 알리기](/ko/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key)\n* [GPG 키와 메일 연결](/ko/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key)\n* [커밋 서명](/ko/authentication/managing-commit-signature-verification/signing-commits)\n* [태그 서명](/ko/authentication/managing-commit-signature-verification/signing-tags)"}