Git 설정(강력한 SSH 키, 서명 제출을 위한 GPG 키 사용)

3102 단어 GitGitHubgpg
지금까지는 RSA로 적당히 열쇠를 만들었지만 안전을 조금 더 고려해 SSH 키를 열심히 만들고 서명이 첨부된 제출을 해 보려고 합니다.

강력한 SSH 키 만들기


RSA의 1024bit은 좋지 않은 것 같습니다. 2048bit도 시간 문제로 사용할 수 없기 때문에 ECDSA와 Ed25519를 사용해 보겠습니다.
각종 키의 제작 방법은 다음과 같은 내용을 참고했다.
2017년판 SSH 공개 키 인증에 사용된 비밀 키 쌍의 제작 방법 - Qiita
압도적으로 의식이 높은 것 같아서 ed25519 열쇠를 만들어 보세요.
ssh-keygen -t ed25519
디지털 서명 EdDSA(ed25519)의 수량 구조 - Qiita 등에서 이론을 간단히 설명해 보았지만 어려운 일은 잘 몰랐다.
하지만 오래된 서버에 들어갈 준비를 위해 RSA의 열쇠도 준비되어 있다.길이는 4096bit으로 설정하고 조금 길어요.(자신이 사용하는 범위라면 이렇게 길어도 괜찮지만 더 오래된 서버라면 그렇지 않을까요?)
ssh-keygen -t rsa -b 4096

GPG 키를 사용하여 서명 제출


GitHub에서는 SSH key 이외에도 PGP key를 등록할 수 있지만 실제로 왜 존재하는지 알 수 없습니다.
공식 기사를 읽고 기능을 알게 됐어요.About commit signature verification - GitHub Help
도입에 관하여 이 글은 참고가 되었다.
macOS Mojave에서 GnuPG 키를 SSH 키로 사용 - Qiita
또한 가져올 때 gpg 명령이 이동되는 것이 중요합니다.이 때문에 포장에 문제가 있는 것 같지만 큰 좌절 없이 도입했기 때문에 가장 작은 구성이 무엇인지 모르겠다.(일단 gpg 명령이 이동한 상태에서 Ubuntu에서 살짝 시도했지만 같은 순서로 가져올 수 있음)
근데 버전은 최대한 새로운 게 좋아요.나도 이 git(GitHub)에서 GPG를 사용하여 서명 - Qiita 보도를 참고해서 가능한 한 새로운 것이 좋다는 것을 알았다.(단지 이 기사는 RSA로 진행되었기 때문에 더 좋은 것을 발견했기 때문에 위의 macOS Mojave에서 보도한 것입니다)
마지막으로 다음 내용을 입력하십시오.
gpg --list-keys --with-keygrip <あなたのemailアドレス>
pub 다음에 있는 부분이 <keyのID> 이면 GPG 키가 내보냅니다.
gpg --armor --export <keyのID>
GitHub의 PGP Key에 붙여넣으면 등록이 완료됩니다.
등록해서 이런 느낌이에요.

항상 git commit 서명

git config --global commit.gpgsign true
설정을 글로벌 .gitconfig 에 쓰면 됩니다.
push는 다음과 같이 보일 거예요.(단, 개인 정보 파일 라이브러리라고 하지만 정보 제출은 너무 심하다)

초록색 Verified 만 있으면 돼요.

총결산


GPG 키의 존재, 설정 방법 등 새롭게 제공되는 기능들을 활용해 보니 꼭 배워야 할 것들이 많다.
하지만 이게 내 약속이야!!당당하게 말할 수 있어서 다행이다.나는 발리의 서명이 담긴 약속을 보여주기 위해 진전을 제시하고 싶다.

좋은 웹페이지 즐겨찾기