본문 바로가기
내가만드는것_만든것/오픈소스

원격으로 gpg-agent 연결하기 (feat. docker)

by Joseph.Lee 2020. 8. 16.

원격으로 로컬에 있는 gpg를 이용해서 sign해야 할 필요가 있었는데..

 

https://github.com/NZSmartie/npiperelay

 

이런게 있긴 했지만 WSL에서만 동작하고 putty등과 함께 사용할 수는 없었다.

 

Windows (mingw) 환경에서 /dev/stdin, /dev/stdout 의 구현이 무언가 빠진게 있어서인지 정확한 이유는 모르겠지만 아래 이슈와 동일한 문제로써 실패했다. (엄청 삽질해봤다...ㅠㅠ npiperelay 소스도 이리저리 고쳐보고...ㅠㅠ 근데 안됌...)

https://github.com/jstarks/npiperelay/issues/13

 

relay 하는 거라 진즉에 직접 만들었으면 하루종일 삽질을 안했을텐데 왜 이 생각을 못했는지 모르겠다...ㅠㅠ

암튼 사설이 길었다.

 

원 소스는 아래에 있다.

https://github.com/jc-lab/gpg-agent-relay

 

친절히..^^ Windows 에서 putty를 통해 바로 동작시킬 수 있도록 해놓았다.

https://github.com/jc-lab/putty-gpg-tunneling

 

바로 사용하려면 위 리포를 받아서 run.bat 를 실행시키면 putty가 뜨는데 로그인하면 원격에 31000/tcp 포트로 gpg-agent를 바인딩한다.

 

기본 활성화인듯 하나 sshd_config에서 AllowTcpForwarding 가 활성화 되어 있어야 한다 (아마도..)

 

이후 putty-gpg-tunneling의 README.md 에 써있는 대로 서버에서 socat를 통해 unix-socket 으로 바인딩하면 자알 된다!

 

참고로 docker에서 unix-socket을 bind하여 사용하는것도 잘 된다

 

 

 

반응형

댓글