Keybase에 등록한 키를 사용하여 macOS에서 git 서명 된 커밋을 수행합니다 (실천 기록)
소개
아무래도✋(´・ᴗ・` )
제목대로 서명된 commit을 Keybase와 함께 하자는 이야기입니다.
Keybase 키로 GitHub 커밋에 Verified 배지를 붙이기 - Qiita
기본적으로 위의 기사의 실천 기록입니다.
쓰여진 순서를 실시하면서, 나 같은 초학자용으로 설정의 근거등을 나름대로 조사했으므로 그것을 정리해 보았습니다.
절차
Keybase 설치
Keybase를 사용하여 키를 관리하고 싶으므로 설치하지 않으면 설치해 둡니다.
공식 사이트에서 설치 프로그램을 다운로드하여 설치하십시오.
The App - Install Macos | Keybase Docs
GPG_TTY 설정
나중에 사용할 GnuPG라는 소프트웨어에 사용되는 쉘의 위치를 가르치기 위해 다음 절차에 따라 환경 변수 GPG_TTY
를 설정하십시오.
이것을 설정하지 않으면 GnuPG가 어떤 쉘에서 입력을 읽으면 좋을지 모르지만 Inappropriate ioctl for device
오류가 발생합니다.
① .zshrc 등, 이용하고 있는 쉘의 설정 파일을 엽니다.
② 다음을 추가합니다.
GPG_TTY=$(tty)
export GPG_TTY
③ 설정 파일을 다시 읽습니다.
$ source .zshrc
필요한 소프트웨어 설치
① 아래 명령을 실행하여 GnuPG와 pinentry-mac을 설치합니다.
GnuPG는 암호화 소프트웨어, pinentry-mac은 개인 키의 암호 문구를 입력하는 데 사용하는 소프트웨어입니다.
$ brew install gnupg pinentry-mac
② GnuPG의 설정 파일을 저장하는 폴더를 작성합니다.
$ mkdir ~/.gnupg
③ 아래 명령을 실행하여 ~/.gnupg
아래의 설정 파일에 설정 값을 쓰고 GnuPG에 pinentry-mac의 위치를 알려줍니다.
$ echo "pinentry-program `which pinentry-mac`" > ~/.gnupg/gpg-agent.conf
④ GPG Agent를 재시작합니다.
$ gpgconf --kill gpg-agent
Keybase에서 키 가져오기
① Keybase에서 공개 키를 내보내고 그것을 GnuPG로 가져옵니다.
$ keybase pgp export | gpg --import
② Keybase에서 개인 키를 내보내고 그것을 GnuPG로 가져옵니다.
비밀키의 패스프레이즈를 묻는다면 적절하게 설정합니다.
$ keybase pgp export --secret | gpg --allow-secret-key --import
이런 느낌의 표시가 나오면 OK입니다.
gpg: 鍵****************:"Ray Nanamiya <****@***.***>"変更なし
gpg: 鍵4F7AF2B0AF315E05: 秘密鍵をインポートしました
gpg: 処理数の合計: 1
gpg: 変更なし: 1
gpg: 秘密鍵の読み込み: 1
gpg: 秘密鍵のインポート: 1
github.com에 공개 키 정보 등록
아직 github.com에 공개 키 정보를 등록하지 않았다면 등록합니다.
① 공개 키를 복사하려면 Keybase의 자신의 프로필 페이지로 이동하여 여기를 클릭합니다.
② 여기에 표시된 문자열을 복사합니다.
③ Github의 자신의 프로필 페이지에 액세스하고 화면 오른쪽 상단의 Settings를 클릭합니다.
④ "New GPG Key"를 클릭하여 복사한 GPG 키를 등록합니다.
git 설정
마지막으로 필요한 설정을 git에 넣습니다.
키 정보 등록
① 아래 명령을 실행하여 키 정보를 확인합니다.
이 때, 메일 주소가 git에 commit할 때의 메일 주소와 일치하지 않으면 안됩니다.
$ gpg --list-secret-keys
gpg: *警告*: homedir '/Users/***/.gnupg'の安全でない許可
/Users/***/.gnupg/pubring.kbx
-----------------------------
sec rsa4096 2019-09-29 [SC] [有効期限: 2035-09-25]
E474************************************
uid [ 不明 ] Ray Nanamiya <***@***.***>
ssb rsa4096 2019-09-29 [E] [有効期限: 2035-09-25]
② E474로 시작하는 문자열을 git에 등록합니다.
$ git config --global user.signingkey E474************************************
GnuPG 경로 설정
① 아래 명령을 실행하여 git에게 GnuPG의 위치를 알려줍니다.
$ git config --global gpg.program `which gpg`
마지막으로
이상의 순서를 밟으면 GPG 키로 서명한 커밋을 할 수 있게 됩니다.
서명이 붙은 커밋을 할 때는
$ git commit -S -m "***"
-S
옵션을 사용합니다.
참고 자료
Keybase 설치
Keybase를 사용하여 키를 관리하고 싶으므로 설치하지 않으면 설치해 둡니다.
공식 사이트에서 설치 프로그램을 다운로드하여 설치하십시오.
The App - Install Macos | Keybase Docs
GPG_TTY 설정
나중에 사용할 GnuPG라는 소프트웨어에 사용되는 쉘의 위치를 가르치기 위해 다음 절차에 따라 환경 변수
GPG_TTY
를 설정하십시오.이것을 설정하지 않으면 GnuPG가 어떤 쉘에서 입력을 읽으면 좋을지 모르지만
Inappropriate ioctl for device
오류가 발생합니다.① .zshrc 등, 이용하고 있는 쉘의 설정 파일을 엽니다.
② 다음을 추가합니다.
GPG_TTY=$(tty)
export GPG_TTY
③ 설정 파일을 다시 읽습니다.
$ source .zshrc
필요한 소프트웨어 설치
① 아래 명령을 실행하여 GnuPG와 pinentry-mac을 설치합니다.
GnuPG는 암호화 소프트웨어, pinentry-mac은 개인 키의 암호 문구를 입력하는 데 사용하는 소프트웨어입니다.
$ brew install gnupg pinentry-mac
② GnuPG의 설정 파일을 저장하는 폴더를 작성합니다.
$ mkdir ~/.gnupg
③ 아래 명령을 실행하여
~/.gnupg
아래의 설정 파일에 설정 값을 쓰고 GnuPG에 pinentry-mac의 위치를 알려줍니다.$ echo "pinentry-program `which pinentry-mac`" > ~/.gnupg/gpg-agent.conf
④ GPG Agent를 재시작합니다.
$ gpgconf --kill gpg-agent
Keybase에서 키 가져오기
① Keybase에서 공개 키를 내보내고 그것을 GnuPG로 가져옵니다.
$ keybase pgp export | gpg --import
② Keybase에서 개인 키를 내보내고 그것을 GnuPG로 가져옵니다.
비밀키의 패스프레이즈를 묻는다면 적절하게 설정합니다.
$ keybase pgp export --secret | gpg --allow-secret-key --import
이런 느낌의 표시가 나오면 OK입니다.
gpg: 鍵****************:"Ray Nanamiya <****@***.***>"変更なし
gpg: 鍵4F7AF2B0AF315E05: 秘密鍵をインポートしました
gpg: 処理数の合計: 1
gpg: 変更なし: 1
gpg: 秘密鍵の読み込み: 1
gpg: 秘密鍵のインポート: 1
github.com에 공개 키 정보 등록
아직 github.com에 공개 키 정보를 등록하지 않았다면 등록합니다.
① 공개 키를 복사하려면 Keybase의 자신의 프로필 페이지로 이동하여 여기를 클릭합니다.
② 여기에 표시된 문자열을 복사합니다.
③ Github의 자신의 프로필 페이지에 액세스하고 화면 오른쪽 상단의 Settings를 클릭합니다.
④ "New GPG Key"를 클릭하여 복사한 GPG 키를 등록합니다.
git 설정
마지막으로 필요한 설정을 git에 넣습니다.
키 정보 등록
① 아래 명령을 실행하여 키 정보를 확인합니다.
이 때, 메일 주소가 git에 commit할 때의 메일 주소와 일치하지 않으면 안됩니다.
$ gpg --list-secret-keys
gpg: *警告*: homedir '/Users/***/.gnupg'の安全でない許可
/Users/***/.gnupg/pubring.kbx
-----------------------------
sec rsa4096 2019-09-29 [SC] [有効期限: 2035-09-25]
E474************************************
uid [ 不明 ] Ray Nanamiya <***@***.***>
ssb rsa4096 2019-09-29 [E] [有効期限: 2035-09-25]
② E474로 시작하는 문자열을 git에 등록합니다.
$ git config --global user.signingkey E474************************************
GnuPG 경로 설정
① 아래 명령을 실행하여 git에게 GnuPG의 위치를 알려줍니다.
$ git config --global gpg.program `which gpg`
마지막으로
이상의 순서를 밟으면 GPG 키로 서명한 커밋을 할 수 있게 됩니다.
서명이 붙은 커밋을 할 때는
$ git commit -S -m "***"
-S
옵션을 사용합니다.
참고 자료
$ git commit -S -m "***"
Reference
이 문제에 관하여(Keybase에 등록한 키를 사용하여 macOS에서 git 서명 된 커밋을 수행합니다 (실천 기록)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rumrais1n/items/119cc82a3dc2e266ea2c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)