~/Documents/Secret/.secret
다음 명령을 사용하여 파일에 저장된 비밀번호를 사용하여 tar 파일을 암호화하려고 합니다.
cat ~/Documents/Secret/.secret | gpg -c --passphrase-fd 0 ~/backup.tar
이제 이 파일이 출력될 것으로 예상 ~/backup.tar.gpg
하지만 아무 것도 출력하지 않습니다.
이 오류가 발생했습니다. 누군가 도와줄 수 있나요? 나는 실제로 길을 잃었습니다.
gpg: problem with the agent: ioctl non appropriata per il device
gpg: error creating passphrase: Operazione annullata
gpg: symmetric encryption of '/home/pi/backup.tar' failed: Operazione annullata
Raspian 9(Stretch)를 사용하여 라즈베리 파이 3에서 이 파일을 암호화하려고 합니다.
답변1
파일에 저장된 암호를 사용하여 하나의 파일을 암호화하는 올바른 명령은 다음과 같습니다.
gpg -c --batch --yes --passphrase-file ~/Documents/Secret/.secret --output ~/backup.tar.gpg ~/backup.tar
어디:
-c
파일 암호화--batch
내가 찾던 것: 스크립트에서 암호화 프로세스를 실행할 수 있도록 허용--yes
요청 시 여러 메시지를 확인하세요(예: "덮어쓰시겠습니까?")--passphrase-file myKey
키가 저장된 위치를 나타냅니다.--output
cryptedFile.gpg` 출력 이름을 나타냅니다.
답변2
아마도 실제로 이 옵션을 사용해야 할 것입니다 --pinentry-mode loopback
. 이 옵션은 파일과 파이프(파일 설명자)에 암호 문구를 허용합니다.
및 명령 --batch
은 --yes
많은 옵션을 없애고 위험을 초래하며 그 중 최소한은 기존 파일을 덮어쓰는 것입니다. --output
그때도 필요하지 않을 것입니다. 새 파일은 자동으로 .gpg
확장자를 얻습니다.
(IMO는 둘 다 강제 pinentry 프로그램에 의해 발생한 버그에 대한 해결 방법일 뿐입니다).