
O uso de senhas é uma técnica imprescindível para controlar o acesso a determinado serviço. Com isso, é preciso ter um conjunto de senhas para diversos serviços (email, banco, redes sociais e outros). Para administrá-las (memorizá-las) existem alguns programas que auxiliam essa tarefa; os mais famosos são o KeePass e o LastPass. Contudo, existe uma alternativa, via de linha de comando, que pode otimizar a administração das suas senhas. Sendo assim, recomendo você usar o pass; uma ferramenta que gerencia suas senhas de forma simples e segura.
A ferramenta pass é uma interface para diversas ferramentas (gpg, pwgen, xsel e outras) que compõem a administração das suas senhas usando o OpenPGP. Cada senha é encriptada através de chaves gpg e armazenadas em um diretório específico. Posteriormente, as senhas podem ser recuperadas facilmente.
INSTALAÇÃO
Para instalar o pass no Debian, Ubuntu e Mint:
sudo apt-get install pass echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
Para instalar o pass no Fedora:
sudo yum install pass echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
Para instalar o pass no ArchLinux:
sudo pac -S pass echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
CONFIGURAÇÃO
Antes de usar a ferramenta pass, é necessário criar um local de armazenamento e criar um par de chaves GPG.
Primeiramente, crie o par de chaves GPG como segue (se você já possui um par de chaves, você pode pular essa etapa):
gpg (GnuPG) 1.4.15; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gpg: directory `/home/ricardo/.gnupg' created
gpg: criado um novo ficheiro de configuração `/home/ricardo/.gnupg/gpg.conf'
gpg: AVISO: opções em `/home/ricardo/.gnupg/gpg.conf' ainda não estão activas nesta execução
gpg: porta-chaves `/home/ricardo/.gnupg/secring.gpg' criado
gpg: porta-chaves `/home/ricardo/.gnupg/pubring.gpg' criado
Por favor selecione o tipo de chave desejado:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (apenas assinatura)
(4) RSA (apenas assinatura)
Sua opção? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 2048
O tamanho de chave pedido é 2048 bits
Por favor especifique por quanto tempo a chave deve ser válida.
0 = chave não expira
= chave expira em n dias
w = chave expira em n semanas
m = chave expira em n meses
y = chave expira em n anos
A chave é valida por? (0) 0
Key does not expire at all
Is this correct? (y/N) y
You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
"Heinrich Heine (Der Dichter) "
Nome completo: Ricardo Ferreira Costa
Endereço de correio eletrônico: [email protected]
Comentário:
Você selecionou este identificador de usuário:
"Ricardo Ferreira Costa "
Muda (N)ome, (C)omentário, (E)ndereço ou (O)k/(S)air? O
Você precisa de uma frase secreta para proteger sua chave.
Digite a frase secreta:
Repita a frase secreta:
gpg: /home/ricardo/.gnupg/trustdb.gpg: banco de dados de confiabilidade criado
gpg: key 22C09D39 marked as ultimately trusted
chaves pública e privada criadas e assinadas.
gpg: a verificar a base de dados de confiança
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
pub 2048R/22C09D39 2014-05-13
Key fingerprint = 2639 4E19 351C 62B7 66A8 2FA9 9EA6 DA11 22C0 9D39
uid Ricardo Ferreira Costa
sub 2048R/A6F3028D 2014-05-13
Como é possível observar, muitas perguntas são feitas nessa etapa. Fique atento nos trechos marcados em vermelho e por fim informe a senha para o par de chaves, que será necessária para acessar qualquer senha armazenada no local especificado. O par de chaves gerado é armazenada em ~/.gnupg
Próxima etapa é inicializar o local de armazenamento das senhas. Para isso, é preciso ter o GPG-ID da chave criada anteriormente. Nesse caso, pode ser usado o e-mail informado na criação das chaves. Portanto, execute o comando (substituindo “GPG-ID” pelo e-mail informado):
mkdir: foi criado o diretório “/home/ricardo/.password-store” Password store initialized for [email protected].
Este comando criará um diretório oculto, no /home do seu usuário, chamado .password-store
ADMINISTRANDO/GERENCIANDO SUAS SENHAS COM O PASS
Para inserir uma senha no diretório criado, use o seguinte comando:
Onde, “NOME DA SENHA” pode ser qualquer informação que defina a senha a ser armazenada!! Por exemplo: “pass insert email_gmail”
ricardo@lmde-201403 ~ $ pass insert email_gmail Enter password for email_gmail: Retype password for email_gmail: ricardo@lmde-201403 ~ $ pass insert email_hotmail -m Enter contents of email_hotmail and press Ctrl+D when finished: Info sobre meu e-mail do hotmail. Senha: 123456 Data criada: 12.12.12 ricardo@lmde-201403 ~ $
Para visualizar a lista de senhas criadas, execute:
Password Store ├── email_gmail └── email_hotmail
Para recuperar uma senha específica, execute:
Por exemplo, = pass email_gmail
Para concluir essa operação, você será perguntado sobre a senha inserida na criação do par de chaves GPG.
Para remover uma senha, execute:

Não gostei, é muito complicado.
Mas, com certeza, bem mais seguro o/
KeePass + KeePass2Android + Google Drive é perfeito, sincronização das senhas entre os meus dispositivos, criptografia de alto nível (tão grande quanto a GNUPG) e o melhor tenho cache em 3 locais diferentes da minhas senhas. =)
Gostei e vou usar. Só precisa corrigir o hífen de “gpg –gen-key” na geração do par de chaves, pois no artigo ele vem colado e pode dar entender que se trata de um comando único.
Obrigado, erro reparado.
Ao inserir uma senha, depois de confirmado a senha o sistema apresenta o erro
“gpg: GPG-ID: ignorado: Sem chave pública”
“gpg: [stdin]: encryption failed: Sem chave pública”
os outros passos foram realizados sem apresentar erros.
Você substituiu “GPG-ID” pelo e-mail informado? No comando <<>>
é, às vezes ler todo o texto ajuda… rsrsrsrs… não fiz isso ai…para ajustar é só repetir o passo ou tem que fazer algo antes?