gpg -d를 사용하여 tar 아카이브를 해독하면 -d 플래그가 작동하지 않습니다.

gpg -d를 사용하여 tar 아카이브를 해독하면 -d 플래그가 작동하지 않습니다.

내 OS는 Ubuntu 20.04.2 lts입니다.

다음과 같이 파일과 하위 폴더가 포함된 dir noup1에서 tar 아카이브를 생성 중입니다.tar cf no1.tar noup1

으로 암호화하세요 gpg -c no1.tar. 이제 아카이브가 생겼습니다 no1.tar.gpg.

로 암호를 해독하려고 하면 gpg -d no1.tar.gpg터미널에 구불구불한 문자가 많이 표시되고 작동하지 않습니다.

gpg no1.tar.gpg플래그 없이 를 사용하면 -d"명령이 지정되지 않았습니다. 추측하려고 합니다..."라는 출력이 표시됩니다.

gpg: WARNING: Kein Kommando angegeben. Versuche zu raten was gemeint ist ... gpg: AES256 verschlüsselte Daten gpg: Verschlüsselt mit einer Passphrase

이제 아카이브가 암호화되지 않았습니다. 그래서 이것은 작동합니다!하지만 어떻게 그리고 왜?

반면에 -d플래그를 사용하고 결과를 tar로 파이프하면 성공합니다!

gpg -d no1.tar.gpg | tar xf -

tar 및 gpg를 사용하여 압축되고 암호화된 아카이브를 만드는 방법

그래서 나는 궁금합니다 :

이것은 "추측된 명령"그게 처형됐나요?

모든 관련 튜토리얼에서 와 를 사용 하지 않고 -dtar 아카이브를 해독하라고 지시하는데도 플래그가 작동하지 않는 이유는 무엇입니까 ?gpg -d <archive-name>gpg <archive-name>

일부 패키지가 누락되었거나 gpg 구성에 문제가 있을 수 있습니까?

답변1

맨페이지GPG의 경우,

-디

명령줄에 제공된 파일(또는 파일이 지정되지 않은 경우 STDIN)을 해독하고 이를 STDOUT(또는 --output으로 지정된 파일)에 씁니다. 해독된 파일에 서명이 있으면 서명도 확인됩니다. 이 명령은 파일에 포함된 파일 이름에 쓰지 않고 암호화된 메시지로 시작하지 않는 파일을 거부하므로 기본 작업과 다릅니다.

그래서 -d는 잘 작동했지만 파일을 STDOUT으로 해독하고 있었기 때문에 정크 출력이 많이 표시되었습니다. 이는 .tar 파일의 인코딩된 데이터이므로 횡설수설하는 것은 놀라운 일이 아닙니다.

셸 출력 스트림 대신 파일로 암호를 해독하려면 --output <filename>출력을 파일로 사용하거나 리디렉션하세요.

나는 (독일어를 읽을 수 없습니다) 파일에서 명령을 실행했을 때 다음과 같은 명령을 실행했다고 가정합니다.

gpg -d no1.tar.gpg --output no1.tar

관련 정보