특정 프로세스에 대한 GPG 비밀번호 기억

특정 프로세스에 대한 GPG 비밀번호 기억

나는 이메일 비밀번호를 포함한 모든 비밀번호를 저장하기 위해 GNU의 비밀번호 저장소(pass)를 사용합니다. GPG 키에 비밀번호를 설정했는데 gpg-agent한 시간 동안 기억됩니다. 또한 주기적으로 이메일을 가져와서 pass.

gpg-agent이는 비밀번호를 기억할 수 있도록 비밀번호를 입력한 경우에만 크론 작업이 작동한다는 의미입니다 . 그렇지 않으면 크론 작업이 실패합니다.

이 cron 작업의 비밀번호는 항상 기억하고 싶지만 다른 프로세스의 비밀번호는 기억하고 싶지 않습니다. 이를 수행할 수 있는 방법이 있습니까?

이러한 유형의 사용 사례를 처리하는 올바른 방법은 무엇입니까? 비밀번호를 모두 삭제하고 싶어요.

답변1

모든 키의 비밀번호를 삭제할 필요는 없습니다. 그러나 gpg-agent는 서로 다른 키에 대해 여러 설정을 갖도록 설계되지 않았습니다. 따라서 가장 좋은 방법은 비밀번호 없이 다른 gpg 키와 연결된 추가 비밀번호 저장소를 만들고 이를 크론 작업에 사용하는 것입니다.

기본적으로 cronjob_key비밀번호 저장소에 새 디렉터리(예: gpg --full-generate-key비밀번호 문구( )가 없는 새 키)를 만들고 해당 디렉터리를 의 경로로 설정합니다 pass init -p cronjob-key [GPG-ID].

다음 디렉터리 구조를 사용하여 이전 키에 동일한 프로세스를 적용할 수 있습니다.

|-- old_key
|   |-- .gpg-id
|-- cronjob_key
    |-- .gpg-id

이제 각 비밀번호 저장소에 대해 새 비밀번호를 생성할 수 있습니다 pass generate cronjob_key/service2 16.pass generate old_key/service1 16

|-- old_key
|   |-- .gpg-id
|   `-- service1.gpg
`-- cronjob_key
    |-- .gpg-id
    `-- service2.gpg  -> this one doesn't require passphrase

컴퓨터가 손상되면 공격자가 이 "비밀번호 없는" 키를 사용하여 서비스에 액세스할 수 있다고 가정해야 합니다. cronjob을 쉽게 자동화하려면 이러한 절충안을 기꺼이 만들어야 합니다. 이는 대부분의 웹 서비스에서 사용할 수 있는 쿠키를 사용하는 것과 동일하므로 이를 실행 가능한 대안으로 받아들이는 것이 어렵지 않습니다.

관련 정보