SSH, tmux 및 GnuPG 에이전트에 대한 모범 사례


12

암호화 소프트웨어를 GnuPG에 통합하려고하는데 혼란스러운 문제가 발생합니다.

내 기본 장치는 헤드리스 서버이며 독점적으로 tmux에서만 일합니다. X 세션이 없으므로 pinpgry-curses를 사용하도록 gpg-agent를 구성했습니다. 이 스크립트를 사용하여 ssh-agent 에뮬레이션으로 로그인 할 때 gpg-agent가 호출되도록 구성했습니다.

if pgrep -u "${USER}" gpg-agent >/dev/null 2>&1; then
    eval `cat $gnupginf`
    eval `cut -d= -f1 $gnupginf | xargs echo export`
else              
    eval `gpg-agent -s --enable-ssh-support --daemon`
fi

이미 ssh 키를 gpg-agent에 추가했지만 다른 ssh 세션을 시도하면 명령이 중단됩니다.

gpg-agent를 죽이고 새 로그인 셸을 만들면 에이전트가 정상적으로 작동합니다 (pinentry-curses 호출 후 ssh-agent처럼 작동 함).

그러나 다른 로그인 셸 (예 : 다른 tmux 창 열기)을 만들고 ssh를 시도하면 명령이 중단되고 pinentry-curses 창이 원래 에이전트를 시작한 로그인 셸의 내용 위에 인쇄됩니다.

또한 원래 에이전트를 시작한 셸을 닫은 경우 어쨌든 pinentry-curses가 호출되어 cpu-crippling 무한 루프가 발생합니다. 알려진 버그는 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559936을 참조하십시오 .

본질적으로 GnuPG 에이전트가 ssh-agent처럼 원활하게 작동하도록 설정에서 변경해야 할 사항을 알고 싶습니다. 도움을 주셔서 감사합니다!

답변:


4

이것은 매우 간단하다는 것이 밝혀졌습니다. 해당 스크립트를 사용하는 대신 이전 키 체인 실행 스크립트에서 "--agents"옵션을 제거했습니다 ( 여기 참조 ).

이것은 키 체인 프로그램이 ssh-agent와 gpg-agent 파일을 모두 찾게합니다. 이제 내 암호화 시스템은 두 가지 유형의 에이전트에 의존하는 동안에도 원활하게 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.