추가 메뉴

WSL 환경의 git 커밋 사이닝 관련해서 마침내 해결했습니다.
커널패닉

Lv.1 커널패닉 (119.♡.59.225)

2026년 2월 13일 AM 12:33

조회 592 공감 0

WSL 에서는 Git 커밋 사이닝을 하기가 여러모로 곤란했습니다.

그 이유는 작업 폴더는 Windows (%USERPROFILE%\Documents) 에 있지만, CMD나 PowerShell 보다 bash가 손에 익어서 주로 WSL 내에서 개발을 하고 있었습니다.

몰론, WSL 에 직접 프로젝트들을 관리하는 방법도 있지만, 이번엔 Windows IDE에서 Git 기능이 제대로 작동하지 않습니다.


따라서 이런 저런 시행착오를 거치다 보니 결국 'git 과 gpg을 실행할 때 경로에 따라서 실행하는 바이너리를 달리 하면 되지 않을까' 라며 스크립트를 제작했습니다.

git 은 원활하게 작동하지만 막상 gpg 가 아래와 같이 제대로 작동을 안하더군요

[code][hm:...ents/Release/upgrade-gitlab]$ gpg --list-secret-keys --keyid-format=long

gpg: error running '/usr/lib/gnupg/keyboxd': probably not installed

gpg: failed to start keyboxd '/usr/lib/gnupg/keyboxd': Configuration error

gpg: can't connect to the keyboxd: Configuration error

gpg: error opening key DB: No Keybox daemon running

gpg: keydb_search_first failed: Input/output error[/code]

???: 아니 여긴 윈도우 경로인데 /usr/lib 을 왜 찾어...


몰론 CMD 에서 gpg --list-keys 와 같은 명령을 한번 실행하면 문제가 해결 됩니다만, 매끄럽지가 않죠.

따라서 제미나이와 열심히 대화를 하다가 gpg 를 다운받아보라네요? 따라서 winget 을 사용해서 GnuPG.Gpg4win을 설치했습니다.

하지만 이번에는 GnuPG와 Git의 gpg 가 전혀 다른 경로를 보고 있었습니다.

  • Git: %USERPROFILE%\.gnupg
  • GnuPG: %APPDATA%\gnupg

따라서 '그냥 Git 이 사용하던 디렉토리를 GnuPG로 대치한 후 mklink /J 로 하위 호환성도 유지하면 괜찮지 않을까?' 라고 잔뜩 기대하며 경로를 수정했습니다만...

gpg keyboxd 가 유실되었습니다 {emo:onion-038.gif:50}{emo:onion-030.gif:50}

결국 해당 키들을 사용하고 있는 사내 깃랩, 개인용 깃랩, 깃허브를 순회하며 유실된 키를 Remove (Revoke 아님) 하고 나서 Windows 의 GnuPG 는 제거해 버리고 WSL 의 gpg 를 사용하기로 했습니다.


하지만 문제는 Windows에서 WSL의 gpg keybox 인증을 어떻게 할 것 인가가 관건 이었습니다.

제가 사용하고 있는 모든 키들은 습관적으로 암호를 걸어 놓습니다. (모두 같아서 문제지...)

이 암호 입력창이 GUI로 나타나지 않으면 터미널 stdin 과 stdout 을 하이재킹하지 않는 이상 비밀번호 입력은 불가능하죠


열심히 제미나이랑 토론해서 얻은 결과는 아래와 같습니다.

드디어 WSL 과 Windows 모두 암호 입력창이 잘 뜨고 비번 입력에 성공하면 커밋 사이닝도 정상적으로 됩니다.

댓글 (0)

  • 아직 댓글이 없습니다. 첫 댓글을 작성해보세요!

댓글을 작성하려면 이 필요합니다.