Eu uso o armazenamento de senhas do GNU (pass) para salvar todas as minhas senhas, incluindo minhas senhas de e-mail. Eu tenho uma senha definida em minhas chaves GPG, que é lembrada por gpg-agent
uma hora. Eu também tenho um trabalho cron que puxa meus e-mails em intervalos regulares que obtém as senhas de e-mail usando pass
.
O que isso significa é que o cron job só funciona quando eu inseri minha senha para que ele gpg-agent
se lembre da senha. Caso contrário, o trabalho cron falhará.
Eu gostaria de sempre ter a senha lembrada para este cron job, mas não para outros processos. Tem algum jeito de fazer isso?
Qual é a maneira correta de lidar com esse caso de uso? Estou tentado a remover a senha todos juntos.
Você não precisa remover as senhas de todas as suas chaves. No entanto, o gpg-agent não foi projetado para ter várias configurações para chaves diferentes. Portanto, acho que sua melhor aposta é criar um armazenamento de senha adicional associado a uma chave gpg diferente sem uma senha e usá-la para seus trabalhos cron.
Basicamente, crie um novo diretório (por exemplo
cronjob_key
, ) em seu armazenamento de senhas, uma nova chave (gpg --full-generate-key
) sem senha e defina esse diretório como o caminho empass init -p cronjob-key [GPG-ID]
.Você pode aplicar o mesmo procedimento para sua chave antiga e ter a seguinte estrutura de diretórios:
Agora você pode gerar novas senhas para cada armazenamento de senhas:
pass generate cronjob_key/service2 16
epass generate old_key/service1 16
:Você precisa assumir que, se o seu computador for comprometido, o invasor terá acesso aos serviços usando essa chave "sem senha". Essa é a troca que você deve estar disposto a fazer pela conveniência de automatizar seus cronjobs. Isso equivale ao uso de cookies disponíveis na maioria dos serviços da web, portanto, não deve ser difícil aceitar isso como uma alternativa viável.