GPG 암호 해독 오류 - 잘못된 세션 키

GPG 암호 해독 오류 - 잘못된 세션 키

스크립트를 사용하여 일부 백업 파일을 일괄 암호화했습니다. 운영체제는 CentOS 7이고 현재 gpg 버전은 2.0.22이다. 스크립트의 중요한 부분은 다음과 같습니다.

enter code here`echo Enter passphrase
read PASS

for sourcefile in $(find /quitelarge/upload/proton/ -name *.gz); do

  echo $sourcefile
  destfile=$(echo $sourcefile | sed '1 s;/quitelarge/upload/proton;/quitelarge/upload/mega;')
  gpg --batch --passphrase "$PASS" -o $destfile.gpg -c $sourcefile

done

파일 중 하나의 암호를 해독하려고 하면 다음과 같은 일이 발생합니다.

gpg -d agent.tar.gz.gpg
gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: DBG: cleared passphrase cached with ID: SAEFA41D323D1BAE9
gpg: decryption failed: Bad session key

예, 올바른 비밀번호를 입력했습니다. 이 문제를 조사하는 동안 다음 참조를 발견했습니다.

  • 암호화 및 암호 해독을 위한 서로 다른 버전의 gpg - 암호화/암호 해독에 동일한 버전의 gpg를 사용해 보았으나 동일한 오류
  • 비밀번호에 cr/lf가 포함된 Windoze 관련 문제 - 읽은 내용에 따르면 Linux 문제는 아닌 것 같습니다.

1년 전에 이 프로세스를 테스트한 결과 백업 파일의 암호를 해독할 수 있었습니다. 혹시 gpg로 뭔가 바뀌었나(?) 당황스럽네요. 어떤 제안이 있으십니까?

티아,

시야

ps CentOS 7은 꽤 오래되었기 때문에 Linux Mint 20.3 시스템에서 gpg 2.2.19를 사용하여 파일의 암호를 해독하려고 했습니다. 같은 질문. 나는 이것이 어느 시점에서 gpg가 gpg2로 업그레이드되는 것과 관련이 있다고 생각합니다. gpg가 gpg2에 대한 링크를 가리키는 곳입니다.

나는 현재 gpg를 사용하여 새로운 일반 텍스트 파일에 대해 테스트 스크립트를 실행한 다음 해독을 시도했습니다. 같은 질문.

답변1

나는 내 질문에 대답하는 것을 좋아하지만, 문제가 내 스스로 만든 것일 때는 반드시 그런 것은 아닙니다...

회의 사업이 나를 귀찮게 한다. 나는 암호를 받아들이고, 파일을 암호화한 다음, 파일을 다른 이름으로 해독하는 스크립트를 만들기로 결정했습니다. 이 모든 것이 하나의 스크립트 내에서 이루어졌습니다. 작동하지 않습니다. gpg가 실제로 어떻게 실행되는지 알고 싶었나요?

[ken@taylor20 upload]$ ps aux | grep gpg
ken       7422  0.3  0.0 121812  1064 ?        Ss   09:36   0:00 gpg-agent --daemon --use-standard-socket
ken       7598  0.0  0.0 112812   976 pts/0    S+   09:38   0:00 grep --color=auto gpg

gpg-agent 데몬을 종료하고 스크립트가 실행되었습니다. 그런 다음 해독하려는 원본 아카이브 파일로 돌아갑니다. 아직도 운이 없습니다. 보관 및 암호화 스크립트를 확인한 결과 문제가 있는 코드 줄을 발견했습니다.

PASS=testpasswordfornow

지난번에 몇 가지 변경 사항을 적용했을 때 테스트할 때마다 비밀번호를 입력하는 것이 지겨워서 읽기 문을 주석 처리하고 위의 내용을 사용했습니다. 프로덕션으로 돌아왔을 때 읽은 내용의 주석 처리를 해제했지만 위의 내용을 제거하는 것을 잊어버려서 입력한 비밀번호를 덮어썼습니다. :-( 테스트 비밀번호를 사용하여 파일의 암호를 해독할 수 있었습니다.

시야

관련 정보