Automatizar a importação de chave privada GPG (GnuPG)
Publicado por Vinicius Araujo Lopes (última atualização em 02/09/2019)
[ Hits: 2.454 ]
Homepage: www.viniciusalopes.com.br
Este script foi criado para facilitar a importação da chave privada GPG em um computador com a distribuição Gnu/Linux Mazon Os, mas pode ser utilizado em qualquer sistema operacional. Simples como voar! ;)
O código fonte, bem como todas as instruções de uso estão disponibilizadas no meu repositório GitHub para quem quiser! :D
Repositório do código: https://github.com/Viniciusalopes/install-gpgkey
Utilizem com moderação!
Atenciosamente,
Vovolinux
#!/usr/bin/env bash
# Template orgulhosamente criado por (Shell-Base) tks SlackJeff
#-----------HEADER-------------------------------------------------------------|
#AUTOR
#  Vovolinux <suporte@vovolinux.com.br>
#
##DATA-DE-CRIAÇÃO
#  16/07/2019 ás 14:19 
#
#PROGRAMA
#  install-gpgkey
#
#PEQUENA-DESCRIÇÃO
#  Script para automatizar a instalação de chave gpg privada.
#
#LICENÇA
#  MIT
#
#HOMEPAGE
#  https://github.com/Viniciusalopes/install-gpgkey 
#
#CHANGELOG
#
#------------------------------------------------------------------------------|
# Interrompe a execução em caso de qualquer erro
set -e
#------- VÁRIAVEIS -------->
################################################################################
#   >>> CUIDADO!!! O SCRIPT PODE APAGAR O CONTEUDO DO DIRETÓRIO dir_gpg <<<    #
# Valor padrão:                                                                #
# dir_gpg='/root/.gnupg'                                                       #
dir_gpg='/root/.gnupg'                                                         #
#   >>> CUIDADO!!! O SCRIPT PODE APAGAR O CONTEUDO DO DIRETÓRIO dir_gpg <<<    #
################################################################################
### LEU AQUI EM CIMA??? ^^
#------- MENSAGENS -------->
msg_dir_existe='O diretório já existe!'
msg_arquivo_invalido='[ ERRO ] Arquivo inválido!'
msg_ate_breve='OK.\nAté breve!'
#----- FIM-MENSAGENS ------>
#----- FIM-VARIAVEIS ------>
#--------FUNÇÕES----------->
ajuda(){
cat << EOF
 
 INSTRUÇÕES:
    
    install-gpgkey <local-da-chave>/<arquivo.key>
        -> Importa uma chave privada gpg.
    install-gpgkey -h 
    install-gpgkey --help
        -> Ver esta ajuda.
  
EOF
}
# Checagem inicial e obtenção do caminho do arquivo com a chave
check()
{
    # Sem root não vai, amiguinho.
    [[ "$UID" -ne '0' ]] && { echo "Execute como root."; exit 1 ;}
    # Verificando se o local da chave foi passado
    if [[ ! -e "$chave" ]]; then
        echo -e "${msg_arquivo_invalido} (${chave})"
        ajuda
        exit 1 
    fi
    # Verificando se o diretório existe
    if [[ -d "${dir_gpg}" ]]; then 
        #dir_gpg já existe
        echo -e "${msg_dir_existe}"
        read -ep "Deseja REALMENTE excluir TODOS os arquivos em '${dir_gpg}' ? [s/N ]: " -n 1
        case "$REPLY" in
             s|S) certeza ;;
            *) sair  ;;
        esac
    fi
}
certeza()
{
    read -ep "Você tem CERTEZA ? [s/N ]: " -n 1
    case "$REPLY" in
        s|S) absoluta ;;
        *) sair  ;;
    esac
}
absoluta()
{
    read -ep "Você tem certeza ABSOLUTA ? [s/N ]: " -n 1
    case "$REPLY" in
        s|S) instalar ;;
        *) sair  ;;
    esac
}
instalar()
{
    echo -e 'Então tá. E lá vamos nós...'
    rm -rfv $dir_gpg/*
    if ! [[ -d "${dir_gpg}" ]]; then 
        mkdir -v /root/.gnupg      # cria o dir_gpg
    fi
    
   # Instala
    echo 'Criando o arquivo '
    echo 'pinentry-mode loopback' >> ${dir_gpg}/gpg.conf
    gpg --import $chave
    echo -e 'Importação concluída!'
    sair
}
sair()
{
    echo -e "${msg_ate_breve}"
    exit 0
}
#-------------------------->
# Programa começa aqui :)
case $1 in
    -h|--help) 
        ajuda 
        exit 0
    ;;
    
    *)
        chave="${1}"
        check
        inicius
    ;;
esac
exit 0
ZPenBoot - Gravando imagem ISO em um pendrive
Dump de várias tabelas do MYSQL em vários arquivos
Script para Gerenciamento de Pacotes no Slackware
Limpar pacotes com versões antigas do cache do apt
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









