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?