GPG 키에 대해 Git에 알리기
GitHub.com에서 커밋 주체 ID 및 계정과 연결된 확인된 이메일 주소와 일치하는 GPG 키를 사용하는 경우 커밋 서명 및 태그 서명을 시작할 수 있습니다.
커밋자 ID와 일치하는 GPG 키가 없는 경우 메일을 기존 키와 연결해야 합니다. 자세한 내용은 "GPG 키와 메일 연결" 항목을 참조하세요.
여러 GPG 키가 있는 경우 사용할 GPG 키를 Git에 알려야 합니다.
-
Terminal(터미널)Terminal(터미널)Git Bash를 엽니다.
-
이전에
--gpg-sign
(으)로 서명할 때 다른 키 형식을 사용하도록 Git을 구성한 경우, 이 구성을 설정 해제하면 기본 형식인openpgp
이(가) 사용됩니다.git config --global --unset gpg.format
-
gpg --list-secret-keys --keyid-format=long
명령을 사용하여 퍼블릭 키와 프라이빗 키가 모두 있는 긴 형식의 GPG 키를 나열합니다. 커밋 또는 태그에 서명하려면 프라이빗 키가 필요합니다.Shell gpg --list-secret-keys --keyid-format=long
gpg --list-secret-keys --keyid-format=long
참고: Linux에서 일부 GPG를 설치하려면 기존 키 목록을 대신 보는 데
gpg2 --list-keys --keyid-format LONG
을 사용해야 할 수 있습니다. 이 경우git config --global gpg.program gpg2
를 실행하여gpg2
를 사용할 Git도 구성해야 합니다. -
GPG 키 목록에서 사용할 GPG 키 ID의 긴 형식을 복사합니다. 이 예제에서 GPG 키 ID는
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
$ 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
-
Git에서 기본 GPG 서명 키를 설정하려면 아래 텍스트를 붙여넣고 사용하려는 GPG 기본 키 ID로 대체합니다. 이 예제에서 GPG 키 ID는
3AA5C34371567BD2
입니다.git config --global user.signingkey 3AA5C34371567BD2
또는 하위 키를 사용할 수 있습니다. 이 예제에서 GPG 하위 키 ID는
4BB6D45482678BE3
입니다.git config --global user.signingkey 4BB6D45482678BE3
여러 키와 하위 키를 사용하는 경우 키에 느낌표
!
를 추가하여 Git에게 이것이 선호하는 키임을 알려야 합니다. 경우에 따라 백슬래시\!
로 느낌표를 이스케이프해야 할 수 있습니다. -
필요에 따라 기본적으로 모든 커밋에 서명하도록 Git을 구성하려면 다음 명령을 입력합니다.
git config --global commit.gpgsign true
자세한 내용은 "커밋 서명"을(를) 참조하세요.
-
GPG 도구 모음을 사용하지 않는 경우
zsh
셸에서 다음 명령을 실행하여.zshrc
파일(있는 경우)에 또는.zprofile
파일에 GPG 키를 추가합니다.$ if [ -r ~/.zshrc ]; then echo -e '\nexport GPG_TTY=$(tty)' >> ~/.zshrc; \ else echo -e '\nexport GPG_TTY=$(tty)' >> ~/.zprofile; fi
또는
bash
셸을 사용하는 경우 다음 명령을 실행합니다.$ if [ -r ~/.bash_profile ]; then echo -e '\nexport GPG_TTY=$(tty)' >> ~/.bash_profile; \ else echo -e '\nexport GPG_TTY=$(tty)' >> ~/.profile; fi
-
필요에 따라 필요한 경우 PIN 또는 암호를 입력하라는 메시지를 표시하려면
pinentry-mac
을 설치합니다. 예를 들어 Homebrew 사용하여 다음을 수행합니다.brew install pinentry-mac echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf killall gpg-agent
GitHub.com에서 커밋 주체 ID 및 계정과 연결된 확인된 이메일 주소와 일치하는 GPG 키를 사용하는 경우 커밋 서명 및 태그 서명을 시작할 수 있습니다.
커밋자 ID와 일치하는 GPG 키가 없는 경우 메일을 기존 키와 연결해야 합니다. 자세한 내용은 "GPG 키와 메일 연결"을(를) 참조하세요.
여러 GPG 키가 있는 경우 사용할 GPG 키를 Git에 알려야 합니다.
-
Terminal(터미널)Terminal(터미널)Git Bash를 엽니다.
-
이전에
--gpg-sign
(으)로 서명할 때 다른 키 형식을 사용하도록 Git을 구성한 경우, 이 구성을 설정 해제하면 기본 형식인openpgp
이(가) 사용됩니다.git config --global --unset gpg.format
-
gpg --list-secret-keys --keyid-format=long
명령을 사용하여 퍼블릭 키와 프라이빗 키가 모두 있는 긴 형식의 GPG 키를 나열합니다. 커밋 또는 태그에 서명하려면 프라이빗 키가 필요합니다.Shell gpg --list-secret-keys --keyid-format=long
gpg --list-secret-keys --keyid-format=long
참고: Linux에서 일부 GPG를 설치하려면 기존 키 목록을 대신 보는 데
gpg2 --list-keys --keyid-format LONG
을 사용해야 할 수 있습니다. 이 경우git config --global gpg.program gpg2
를 실행하여gpg2
를 사용할 Git도 구성해야 합니다. -
GPG 키 목록에서 사용할 GPG 키 ID의 긴 형식을 복사합니다. 이 예제에서 GPG 키 ID는
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
$ 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
-
Git에서 기본 GPG 서명 키를 설정하려면 아래 텍스트를 붙여넣고 사용하려는 GPG 기본 키 ID로 대체합니다. 이 예제에서 GPG 키 ID는
3AA5C34371567BD2
입니다.git config --global user.signingkey 3AA5C34371567BD2
또는 하위 키를 사용할 수 있습니다. 이 예제에서 GPG 하위 키 ID는
4BB6D45482678BE3
입니다.git config --global user.signingkey 4BB6D45482678BE3
여러 키와 하위 키를 사용하는 경우 키에 느낌표
!
를 추가하여 Git에게 이것이 선호하는 키임을 알려야 합니다. 경우에 따라 백슬래시\!
로 느낌표를 이스케이프해야 할 수 있습니다. -
필요에 따라 기본적으로 모든 커밋에 서명하도록 Git을 구성하려면 다음 명령을 입력합니다.
git config --global commit.gpgsign true
자세한 내용은 "커밋 서명"을(를) 참조하세요.
GitHub.com에서 커밋 주체 ID 및 계정과 연결된 확인된 이메일 주소와 일치하는 GPG 키를 사용하는 경우 커밋 서명 및 태그 서명을 시작할 수 있습니다.
커밋자 ID와 일치하는 GPG 키가 없는 경우 메일을 기존 키와 연결해야 합니다. 자세한 내용은 "GPG 키와 메일 연결"을(를) 참조하세요.
여러 GPG 키가 있는 경우 사용할 GPG 키를 Git에 알려야 합니다.
-
Terminal(터미널)Terminal(터미널)Git Bash를 엽니다.
-
이전에
--gpg-sign
(으)로 서명할 때 다른 키 형식을 사용하도록 Git을 구성한 경우, 이 구성을 설정 해제하면 기본 형식인openpgp
이(가) 사용됩니다.git config --global --unset gpg.format
-
gpg --list-secret-keys --keyid-format=long
명령을 사용하여 퍼블릭 키와 프라이빗 키가 모두 있는 긴 형식의 GPG 키를 나열합니다. 커밋 또는 태그에 서명하려면 프라이빗 키가 필요합니다.Shell gpg --list-secret-keys --keyid-format=long
gpg --list-secret-keys --keyid-format=long
참고: Linux에서 일부 GPG를 설치하려면 기존 키 목록을 대신 보는 데
gpg2 --list-keys --keyid-format LONG
을 사용해야 할 수 있습니다. 이 경우git config --global gpg.program gpg2
를 실행하여gpg2
를 사용할 Git도 구성해야 합니다. -
GPG 키 목록에서 사용할 GPG 키 ID의 긴 형식을 복사합니다. 이 예제에서 GPG 키 ID는
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
$ 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
-
Git에서 기본 GPG 서명 키를 설정하려면 아래 텍스트를 붙여넣고 사용하려는 GPG 기본 키 ID로 대체합니다. 이 예제에서 GPG 키 ID는
3AA5C34371567BD2
입니다.git config --global user.signingkey 3AA5C34371567BD2
또는 하위 키를 사용할 수 있습니다. 이 예제에서 GPG 하위 키 ID는
4BB6D45482678BE3
입니다.git config --global user.signingkey 4BB6D45482678BE3
여러 키와 하위 키를 사용하는 경우 키에 느낌표
!
를 추가하여 Git에게 이것이 선호하는 키임을 알려야 합니다. 경우에 따라 백슬래시\!
로 느낌표를 이스케이프해야 할 수 있습니다. -
필요에 따라 기본적으로 모든 커밋에 서명하도록 Git을 구성하려면 다음 명령을 입력합니다.
git config --global commit.gpgsign true
자세한 내용은 "커밋 서명"을(를) 참조하세요.
-
.bashrc
시작 파일에 GPG 키를 추가하려면 다음 명령을 실행합니다.[ -f ~/.bashrc ] && echo -e '\nexport GPG_TTY=$(tty)' >> ~/.bashrc
Git에 SSH 키에 대해 알리기
기존 SSH 키를 사용하여 커밋 및 태그에 서명하거나 서명을 위해 특별히 새 키를 생성할 수 있습니다. 자세한 내용은 "새 SSH 키 생성 및 ssh-agent에 추가"을(를) 참조하세요.
참고: SSH 서명 확인은 Git 2.34 이상에서 사용할 수 있습니다. Git 버전을 업데이트하려면 Git 웹 사이트를 참조하세요.
-
Terminal(터미널)Terminal(터미널)Git Bash를 엽니다.
-
SSH를 사용하여 커밋 및 태그에 서명하도록 Git을 구성합니다.
git config --global gpg.format ssh
-
Git에서 SSH 서명 키를 설정하려면 아래 텍스트를 붙여넣고, /PATH/TO/.SSH/KEY.PUB를 사용하려는 공개 키의 경로로 대체합니다.
git config --global user.signingkey /PATH/TO/.SSH/KEY.PUB
Git에 X.509 키에 대해 알리기
smimesign을 사용하여 S/MIME를 통해 커밋 및 태그에 서명할 수 있습니다.
참고: S/MIME 서명 확인은 Git 2.19 이상에서 사용할 수 있습니다. Git 버전을 업데이트하려면 Git 웹 사이트를 참조하세요.
-
smimesign을 설치합니다.
-
Terminal(터미널)Terminal(터미널)Git Bash를 엽니다.
-
S/MIME을 사용하여 커밋 및 태그에 서명하도록 Git을 구성합니다. Git 2.19 이상에서는
git config gpg.x509.program
및git config gpg.format
명령을 사용합니다.-
S/MIME을 사용하여 모든 리포지토리에 서명하려면 다음을 수행합니다.
git config --global gpg.x509.program smimesign git config --global gpg.format x509
-
S/MIME을 사용하여 단일 리포지토리에 서명하려면 다음을 수행합니다.
cd PATH-TO-REPOSITORY git config --local gpg.x509.program smimesign git config --local gpg.format x509
Git 2.18 이하 버전에서는
git config gpg.program
명령을 사용합니다. -
S/MIME을 사용하여 모든 리포지토리에 서명하려면 다음을 수행합니다.
git config --global gpg.program smimesign
-
S/MIME을 사용하여 단일 리포지토리에 서명하려면 다음을 수행합니다.
cd PATH-TO-REPOSITORY git config --local gpg.program smimesign
커밋한 사람 ID와 일치하는 X.509 키를 사용하는 경우 커밋 및 태그에 서명을 시작할 수 있습니다.
-
-
커밋한 사람 ID와 일치하는 X.509 키를 사용하지 않는 경우
smimesign --list-keys
명령을 사용하여 인증서와 프라이빗 키가 모두 있는 X.509 키를 나열합니다.smimesign --list-keys
-
X.509 키 목록에서 사용하려는 X.509 키의 인증서 ID를 복사합니다. 이 예제에서 인증서 ID는
0ff455a2708394633e4bb2f88002e3cd80cbd76f
입니다.$ smimesign --list-keys ID: 0ff455a2708394633e4bb2f88002e3cd80cbd76f S/N: a2dfa7e8c9c4d1616f1009c988bb70f Algorithm: SHA256-RSA Validity: 2017-11-22 00:00:00 +0000 UTC - 2020-11-22 12:00:00 +0000 UTC Issuer: CN=DigiCert SHA2 Assured ID CA,OU=www.digicert.com,O=DigiCert Inc,C=US Subject: CN=Octocat,O=GitHub\, Inc.,L=San Francisco,ST=California,C=US Emails: octocat@github.com
-
Git에서 X.509 서명 키를 설정하려면 아래 텍스트를 붙여넣고 이전에 복사한 인증서 ID를 대체합니다.
-
X.509 키를 사용하여 모든 리포지토리에 서명하려면 다음을 수행합니다.
git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
-
X.509 키를 사용하여 단일 리포지토리에 서명하려면 다음을 수행합니다.
cd PATH-TO-REPOSITORY git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
-
Git에 X.509 키에 대해 알리기
smimesign을 사용하여 S/MIME를 통해 커밋 및 태그에 서명할 수 있습니다.
참고: S/MIME 서명 확인은 Git 2.19 이상에서 사용할 수 있습니다. Git 버전을 업데이트하려면 Git 웹 사이트를 참조하세요.
-
smimesign을 설치합니다.
-
Terminal(터미널)Terminal(터미널)Git Bash를 엽니다.
-
S/MIME을 사용하여 커밋 및 태그에 서명하도록 Git을 구성합니다. Git 2.19 이상에서는
git config gpg.x509.program
및git config gpg.format
명령을 사용합니다.-
S/MIME을 사용하여 모든 리포지토리에 서명하려면 다음을 수행합니다.
git config --global gpg.x509.program smimesign git config --global gpg.format x509
-
S/MIME을 사용하여 단일 리포지토리에 서명하려면 다음을 수행합니다.
cd PATH-TO-REPOSITORY git config --local gpg.x509.program smimesign git config --local gpg.format x509
Git 2.18 이하 버전에서는
git config gpg.program
명령을 사용합니다. -
S/MIME을 사용하여 모든 리포지토리에 서명하려면 다음을 수행합니다.
git config --global gpg.program smimesign
-
S/MIME을 사용하여 단일 리포지토리에 서명하려면 다음을 수행합니다.
cd PATH-TO-REPOSITORY git config --local gpg.program smimesign
커밋한 사람 ID와 일치하는 X.509 키를 사용하는 경우 커밋 및 태그에 서명을 시작할 수 있습니다.
-
-
커밋한 사람 ID와 일치하는 X.509 키를 사용하지 않는 경우
smimesign --list-keys
명령을 사용하여 인증서와 프라이빗 키가 모두 있는 X.509 키를 나열합니다.smimesign --list-keys
-
X.509 키 목록에서 사용하려는 X.509 키의 인증서 ID를 복사합니다. 이 예제에서 인증서 ID는
0ff455a2708394633e4bb2f88002e3cd80cbd76f
입니다.$ smimesign --list-keys ID: 0ff455a2708394633e4bb2f88002e3cd80cbd76f S/N: a2dfa7e8c9c4d1616f1009c988bb70f Algorithm: SHA256-RSA Validity: 2017-11-22 00:00:00 +0000 UTC - 2020-11-22 12:00:00 +0000 UTC Issuer: CN=DigiCert SHA2 Assured ID CA,OU=www.digicert.com,O=DigiCert Inc,C=US Subject: CN=Octocat,O=GitHub\, Inc.,L=San Francisco,ST=California,C=US Emails: octocat@github.com
-
Git에서 X.509 서명 키를 설정하려면 아래 텍스트를 붙여넣고 이전에 복사한 인증서 ID를 대체합니다.
-
X.509 키를 사용하여 모든 리포지토리에 서명하려면 다음을 수행합니다.
git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
-
X.509 키를 사용하여 단일 리포지토리에 서명하려면 다음을 수행합니다.
cd PATH-TO-REPOSITORY git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
-
추가 참고 자료
- "GitHub 계정에 새 SSH 키 추가."
- "커밋 서명"
- "태그 서명"