WSL에서 GNU Pass를 브라우저에서 이용하는 게 복잡했으므로 정리한다.
내가 따른 방식은 .password-store를 윈도우 스토리지로 옮기고, WSL에서는 소프트링크를 걸어 데이터를 윈도우와 WSL 모두에서 접근할 수 있게 한 뒤 GPG 에이전트를 Gpg4win으로 사용한 방식이다. WSL은 pass git pull, pass git push 용으로 사용하고 나머지는 윈도우 네이티브를 사용한 것이다.
이런 방식을 사용한 이유는 내가 GPG 암호를 입력하는 WSL의 GUI 창을 윈도우 브라우저가 호출하게 하는 데 결국 실패했기 때문이다. 그래서 윈도우용 GPG 에이전트를 사용하는 방식을 쓴 것이다.
이제 차례대로 메모한다.
운영체제에 호스트 설치
우선 윈도우에 호스트를 설치해야 한다. browserpass-native의 릴리즈 페이지에서 browserpass-windows64-x.x.x.msi 모양의 파일을 다운받는다.
위쪽에는 안 보이니까 Show all xx assets를 클릭해야 나온다.

다운받아서 설치한다.
브라우저에 확장 설치
크롬이나 파이어폭스의 browserpass 확장을 설치한다.

.password-store 처리
GNU Pass는 ~/.password-store라는 git 저장소에 GPG로 암호화된 비밀번호 파일들을 저장한다. 이걸 윈도우쪽 browserpass가 인식하도록 해 줘야 한다. 윈도우 홈 폴더로 이 폴더를 이용하면 인식한다.
WSL에서 아래 명령을 실행한다.
mv ~/.password-store /mnt/c/Users/{win-username}/
위에서 {win-username}은 자신의 실제 사용자명으로 바꾼다. 나는 mytory였으므로 이렇게 명령을 내렸다.
mv ~/.password-store /mnt/c/Users/mytory/
그리고 소프트링크를 건다.
ln -s /mnt/c/Users/{win-username}/.password-store ~/.password-store
여기서도 {win-username}은 자신의 실제 사용자명으로 바꾼다.
Gpg4win 설치와 설정
설치
네이티브 호스트도 설치했고, 브라우저 확장도 설치했고, 패스워드 저장소도 윈도우쪽으로 옮겼다면 이제 브라우저 확장이 GPG 암호를 입력받아서 저장소의 파일을 읽을 수 있게 해야 한다.
이를 위해서 GPG 에이전트 기능을 가진 프로그램을 설치해 줘야 한다. 윈도우에서 GPG를 사용할 수 있게 해주는 프로그램이 Gpg4win이다. 이걸 설치한다.
키 파일 입력
이제 Gpg4win에 패스워드를 해독할 수 있는 GPG 비밀키를 입력한다.
Gpg4win의 GPG 키 관리 프로그램은 클레오파트라(Kleopatra)다. 클레오파트라를 실행한다.
그리고 import를 누른 뒤 준비해 둔 GPG 키 파일을 임포트한다. GPG 키 파일을 얻는 방법은 별도로 설명하지 않겠다.
PATH 인식
이제 브라우저를 재시작한다.
브라우저가 GPG 에이전트를 실행하려면 GPG 에이전트가 어디서나 실행될 수 있어야 한다. Gpg4win을 설치할 때 PATH 환경변수가 설정됐을 텐데, 브라우저를 껐다 켜야 이를 읽게 된다.
매번 GPG 비번을 입력하지 않게 하기
GPG 비번을 매번 입력하려고 하면 피곤할 것이다. 이를 피하기 위해 gpg-agent를 백그라운드에서 띄워 둬야 하는데, 자동으로 되지는 않는다.
Gpg4win은 Gnupg를 함께 설치하는데, 여기에 gpg-agent가 있다. 이걸 윈도우 시작시 실행하게 해야 한다.
- Win + R →
taskschd.msc - 메뉴에서 동작 > 기본 작업 만들기 → 이름에 임의의 이름 입력(예: gpg-agent 시작), 설명란은 비워 놔도 됨.
- 트리거: 로그온할 때
- 동작: 프로그램 시작
- 프로그램:
"C:\Program Files\GnuPG\bin\gpg-connect-agent.exe"(따옴표까지 포함해 입력해야 함) - 인수 추가:
/bye
비밀번호 기억 시간을 늘리기
별도 설정하지 않으면 비밀번호 기억 시간은 10분이다. 늘리고 싶으면 다음 파일을 만들어서 설정값을 넣어준다.
윈도우 탐색기에서 다음 경로로 이동한다(주소 표시줄에 붙여 넣으면 된다. 주소 표시줄이 뭔지 모르면 Ctrl+L을 누르고 붙여넣는다).
%APPDATA%\gnupg
여기에 gpg-agent.conf 파일을 생성하고(이미 있으면 열어서 수정) 열어서 아래 값을 추가한다. 숫자가 초단위니 원하는 숫자를 넣으면 된다.
# 마지막 사용 후 암호를 유지할 시간 (86,400초 = 24시간)
default-cache-ttl 86400
# 암호를 처음 입력한 후 강제로 만료시킬 최대 시간(864000초 = 240시간 = 10일)
max-cache-ttl 864000
max-cache-ttl은 암호를 여러 번 사용해서 연속으로 암호를 사용했더라도 여기 설정한 시간이 지나면 강제로 캐시를 만료시킬 시간을 말한다. 즉, 위 설정에서는 10일이 지나면 암호를 무조건 다시 입력해야 하는 것이다.
관리
패스워드를 추가/수정/삭제하는 것은 WSL 커맨드로 하면 된다. .password-store에 리눅스와 윈도우 모두에서 접근할 수 있기 때문이다.
윈도우 브라우저 쪽에서는 읽기를 하는 것이다.
정리
WSL의 GPG 에이전트를 윈도우에서 GUI로 띄우는 것은 실패했다. 그래서 윈도우에서 WSL의 password store를 읽는 방식으로 해서 해결한 것이다.
이를 위해 아래 네 단계를 거쳤다.
- 윈도우 호스트 설치
- 브라우저 확장 설치
.password-store가 윈도우 홈 폴더와 WSL 홈 폴더 모두에 존재하도록 연결- 윈도우용 GPG 관리 프로그램 Gpg4win 설치와 설정










댓글 남기기