Como passar a senha para decifrar um arquivo GPG via linha de comando [RESOLVIDO]

1. Como passar a senha para decifrar um arquivo GPG via linha de comando [RESOLVIDO]

Ricardo Farias
RickG4

(usa Ubuntu)

Enviado em 10/06/2021 - 15:49h

Boa tarde galera, gostaria de saber o seguinte, no meio do meu script, eu preciso decifrar um arquivo chamado senha.gpg, o comando a seguir é o que supostamente fará isso: gpg -d senha.gpg -o senha.txt. Sendo o parâmetro -d = "--decrypt", e o -o = "--output". O fato é, assim que a shell executa esse comando, é aberto aquela interface do GPG no terminal para que o usuário digite a senha para decifrar o arquivo, mas no meu script eu tenho que passar essa senha automaticamente, sem a necessidade da interação com o usuário. Existe alguma maneira de fazer isso?






  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 13/06/2021 - 20:05h


RickG4 escreveu:

Boa tarde galera, gostaria de saber o seguinte, no meio do meu script, eu preciso decifrar um arquivo chamado senha.gpg, o comando a seguir é o que supostamente fará isso: gpg -d senha.gpg -o senha.txt. Sendo o parâmetro -d = "--decrypt", e o -o = "--output". O fato é, assim que a shell executa esse comando, é aberto aquela interface do GPG no terminal para que o usuário digite a senha para decifrar o arquivo, mas no meu script eu tenho que passar essa senha automaticamente, sem a necessidade da interação com o usuário. Existe alguma maneira de fazer isso?

Testado e funcionando:
gpg -d --batch --passphrase 12345 texto.txt.gpg 

gpg: dados cifrados com AES256
gpg: encrypted with 1 passphrase
Linha_00
Linha_01
Linha_02
Linha_03
Linha_04
Linha_05
Linha_06
------------------------------------------------------------------------
Excluindo p parâmetro "-d", é gerado o arquivo texto.txt
gpg --batch --passphrase 12345 texto.txt.gpg 

gpg: WARNING: no command supplied. Trying to guess what you mean ...
gpg: dados cifrados com AES256
gpg: encrypted with 1 passphrase


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________


3. Re: Como passar a senha para decifrar um arquivo GPG via linha de comando [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 11/06/2021 - 00:57h


RickG4 escreveu:

Boa tarde galera, gostaria de saber o seguinte, no meio do meu script, eu preciso decifrar um arquivo chamado senha.gpg, o comando a seguir é o que supostamente fará isso: gpg -d senha.gpg -o senha.txt. Sendo o parâmetro -d = "--decrypt", e o -o = "--output". O fato é, assim que a shell executa esse comando, é aberto aquela interface do GPG no terminal para que o usuário digite a senha para decifrar o arquivo, mas no meu script eu tenho que passar essa senha automaticamente, sem a necessidade da interação com o usuário. Existe alguma maneira de fazer isso?


tem alguns parâmetros de senha no comando 'gpg', consulte o man e veja qual deles é o que mais te satisfaz !!!

man gpg | grep "passphrase" 


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




4. Re: Como passar a senha para decifrar um arquivo GPG via linha de comando [RESOLVIDO]

Cézar Augusto
cizordj

(usa Debian)

Enviado em 13/06/2021 - 10:46h

Tenta passar a senha através de pipes, procure no manual do gpg para ver se ele suporta tal comportamento

Um exemplo fictício:
echo "sua senha" | gpg -d input.gpg -o output.txt - 



5. Re: Como passar a senha para decifrar um arquivo GPG via linha de comando [RESOLVIDO]

Ricardo Farias
RickG4

(usa Ubuntu)

Enviado em 13/06/2021 - 19:23h


Mauriciodez escreveu:


RickG4 escreveu:

Boa tarde galera, gostaria de saber o seguinte, no meio do meu script, eu preciso decifrar um arquivo chamado senha.gpg, o comando a seguir é o que supostamente fará isso: gpg -d senha.gpg -o senha.txt. Sendo o parâmetro -d = "--decrypt", e o -o = "--output". O fato é, assim que a shell executa esse comando, é aberto aquela interface do GPG no terminal para que o usuário digite a senha para decifrar o arquivo, mas no meu script eu tenho que passar essa senha automaticamente, sem a necessidade da interação com o usuário. Existe alguma maneira de fazer isso?


tem alguns parâmetros de senha no comando 'gpg', consulte o man e veja qual deles é o que mais te satisfaz !!!

man gpg | grep "passphrase" 


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------



Obrigado pela dica amiga, consultando o man notei dois parâmetros para usar, o "--passphrase string" e o "--passphrase file", um passando uma string e o outro um arquivo que iria conter a senha, infelizmente nenhum dos dois funcionou. Vou deixar o exemplo de como fiz

Para --passphrase senha
1º: gpg -o senha.txt --passphrase 1234 -d senha.gpg
2º: gpg -o senha.txt --passphrase '1234' -d senha.gpg
3º: gpg -o senha.txt --passphrase "1234" -d senha.gpg
3º: gpg -o senha.txt --passphrase `1234` -d senha.gpg

Para --passphrase file
1º:gpg -o senha.txt --passphrase senha_decrypt.txt -d senha.gpg
2º:gpg -o senha.txt --passphrase "senha_decrypt.txt" -d senha.gpg
3º:gpg -o senha.txt --passphrase 'senha_decrypt.txt' -d senha.gpg
4º:gpg -o senha.txt --passphrase `senha_decrypt.txt` -d senha.gpg

Em nenhum dos jeitos funcionou :|


6. Re: Como passar a senha para decifrar um arquivo GPG via linha de comando [RESOLVIDO]

Ricardo Farias
RickG4

(usa Ubuntu)

Enviado em 13/06/2021 - 19:27h


cizordj escreveu:

Tenta passar a senha através de pipes, procure no manual do gpg para ver se ele suporta tal comportamento

Um exemplo fictício:
echo "sua senha" | gpg -d input.gpg -o output.txt - 


Infelizmente também não funcionou, tentei também: cat senha_decrypt.txt | gpg -o senha.txt -d senha.gpg


7. Re: Como passar a senha para decifrar um arquivo GPG via linha de comando [RESOLVIDO]

Ricardo Farias
RickG4

(usa Ubuntu)

Enviado em 14/06/2021 - 00:03h


msoliver escreveu:


RickG4 escreveu:

Boa tarde galera, gostaria de saber o seguinte, no meio do meu script, eu preciso decifrar um arquivo chamado senha.gpg, o comando a seguir é o que supostamente fará isso: gpg -d senha.gpg -o senha.txt. Sendo o parâmetro -d = "--decrypt", e o -o = "--output". O fato é, assim que a shell executa esse comando, é aberto aquela interface do GPG no terminal para que o usuário digite a senha para decifrar o arquivo, mas no meu script eu tenho que passar essa senha automaticamente, sem a necessidade da interação com o usuário. Existe alguma maneira de fazer isso?

Testado e funcionando:
gpg -d --batch --passphrase 12345 texto.txt.gpg 

gpg: dados cifrados com AES256
gpg: encrypted with 1 passphrase
Linha_00
Linha_01
Linha_02
Linha_03
Linha_04
Linha_05
Linha_06
------------------------------------------------------------------------
Excluindo p parâmetro "-d", é gerado o arquivo texto.txt
gpg --batch --passphrase 12345 texto.txt.gpg 

gpg: WARNING: no command supplied. Trying to guess what you mean ...
gpg: dados cifrados com AES256
gpg: encrypted with 1 passphrase


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________


Obrigado amigo, agora sim funcionou, eu realmente nunca ia notar esse --batch lá kkkk






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts