Github Verified Commit
λ‘컬 νκ²½μμ μμ±ν GPG(GNU Privacy Guard) ν€λ₯Ό μ΄μ©ν΄ 컀λ°μ μλͺ
νκ³ , GitHubμμ Verified λ±μ§λ₯Ό λ°κΈ° μν μ€μ λ°©λ²μ μλ΄νλ€.

1. GnuPG μ€μΉ
GPG μνΈ μ
λ ₯μ μν GUI ν둬ννΈλ₯Ό μ 곡νλ pinentry-macμ λ¨Όμ μ€μΉνλ€.
2. GPG ν€ μμ±
μλ λͺ λ Ήμ΄λ₯Ό μ€ννμ¬ GPG ν€λ₯Ό μμ±νλ€.
λͺ λ Ήμ΄ μ€ν ν λνλλ ν둬ννΈμμ λ€μ μ΅μ μ μμλλ‘ μ ννλ€.
ν€ μ’ λ₯:
(1) RSA and RSAν€ μ¬μ΄μ¦:
4096ν€ μ ν¨ κΈ°κ°:
0(key does not expire)μ¬μ©μ μ 보: μ΄λ¦(
Real name)κ³Ό μ΄λ©μΌ μ£Όμ(Email address) μ λ ₯μ΄λ©μΌμ GitHub κ³μ κ³Ό λ°λμ μΌμΉ
μ΅μ μ€μ μ λ§μΉλ©΄ ν€λ₯Ό 보νΈνκΈ° μν μνΈλ₯Ό μ λ ₯λ°λλ°, μ΄ μνΈλ μ»€λ° μλͺ μ μ¬μ©λλ€.
3. μμ±λ GPG ν€ ID νμΈ
Gitμ΄ μ»€λ°μ μλͺ ν λ μ¬μ©νκΈ° μν μμ±λ GPG ν€μ IDλ₯Ό νμΈνλ€.
μμ κ° μ€ Aλ‘ μμνλ ν€κ° μλ κ³³μ΄ GPG Key IDλ€.
4. Git μ€μ
GPG μλͺ
μ μ¬μ©νλλ‘ μ€μ νκΈ° μν΄, .gitconfig νμΌμ μλ λ΄μ©μ μΆκ°νλ€.
signingkeyμλ μμμ νμΈν GPG ν€ IDλ₯Ό μ
λ ₯νλ€.
5. GPG Agent μ€μ
pinentry-macμ μ¬μ©νλλ‘ GPG Agent μ€μ μ μΆκ°νκ³ Agentλ₯Ό μ¬μμνλ€.
6. GitHubμ GPG 곡κ°ν€ λ±λ‘
λ‘컬μμ μμ±ν GPG ν€μ 곡κ°ν€λ₯Ό GitHub κ³μ μ λ±λ‘νλ€.
곡κ°ν€ νμΈ
μλ λͺ λ Ήμ΄λ‘ 곡κ°ν€λ₯Ό ν°λ―Έλμ μΆλ ₯νλ€.
λͺ
λ Ήμ΄λ₯Ό μ€ννμ¬ μΆλ ₯λ -----BEGIN PGP PUBLIC KEY BLOCK-----λΆν° -----END PGP PUBLIC KEY BLOCK-----κΉμ§μ λ΄μ©μ λͺ¨λ 볡μ¬νλ€.
ν€ λ±λ‘
GitHub μ€μ μ Settings > Access > SSH and GPG keys νμ΄μ§λ‘ μ΄λνμ¬ New GPG keyλ₯Ό ν΄λ¦νκ³ , 볡μ¬ν 곡κ°ν€λ₯Ό λΆμ¬λ£μ΄ λ±λ‘νλ€.
7. μ»€λ° νμΈ
λͺ¨λ μ€μ μ΄ μλ£λλ©΄, μ΅μ΄ μ»€λ° μνΈ μ
λ ₯ μ΄ν μμ±νλ 컀λ°μ μλμΌλ‘ μλͺ
λλ©° GitHubμμ Verifiedλ‘ νμλλ€.(μνΈλ GPG ν€ μμ± μ μ€μ ν μνΈ)
GPG μλͺ
μλ¬
μ»€λ° μ error: gpg failed to sign the data μ κ°μ μλ¬κ° λ°μνλ©΄ GPG ν€ μ λ’°λλ pinentry μ€μ λ¬Έμ μΌ μ μλ€.
1. GPG ν€ νμΈ λ° gitμ λ±λ‘λ ν€ μΌμΉ μ¬λΆ νμΈ
λ¨Όμ GPG ν€κ° μ¬λ°λ₯΄κ² μ€μ λμ΄ μλμ§ νμΈνλ€.
2. ν΄λΉ ν€μ λν μ λ’° μμ€μ ultimateλ‘ μλ μ€μ
ultimateλ‘ μλ μ€μ GPG ν€μ λν μ λ’° μμ€μ ultimateμΌλ‘ μλ μ€μ νλ€.
GPG ν둬ννΈκ° λνλλ©΄ trustλ₯Ό μ
λ ₯νκ³ , μ λ’° μμ€μ 5λ‘ μ νν λ€ quitλ‘ λΉ μ Έλμ¨λ€.
3. GPG Agent μ¬μ€μ
pinentry κ²½λ‘λ₯Ό λ€μ μ€μ νκ³ Agentλ₯Ό μ¬μμνλ€.
μμ μ μ°¨λ₯Ό λͺ¨λ μνν λ€ λ€μ 컀λ°μ μλνλ©΄ λ€μ μ μμ μΌλ‘ Verified 컀λ°μ΄ κ°λ₯ν΄μ§λ€.
Last updated