Unix'in içinde bir parola kullanarak bir gpg dosyasının şifresini çözmeme


1

Bir unix kabuk isteminde aşağıdaki komutu kullanarak bir dosyanın şifresini çözmeye çalışıyorum:

gpg --passphrase-file /path/to/passphrase/file --output /path/to/output/dir/full_db_restore --decrypt full_db_backup_current.tar.gpg

Yukarıdaki komutu çalıştırırken aşağıdaki hatayı alıyorum:

gpg: 3DES encrypted data
gpg: problem with the agent: No pinentry
gpg: encrypted with 1 passphrase
gpg: decryption failed: No secret key

Pinentry'nin yüklü olduğunu doğruladım. Pinentry'nin sorun olup olmadığından emin değilim. "Gizli anahtar yok" hatasıyla olabileceğini hissediyorum. Herhangi bir yardım takdir edilecektir.


Güzel bir soru ama bence bunun süper kullanıcılara taşınması gerekiyor, çünkü bu programlama ile ilgili bir soru değil.
Heisenbug

Yanıtlar:


2

Bunun için bir çözüm buldum.

/usr/bin/gpg --no-tty --batch --passphrase-file /path/to/passphrase/file --output   \
/path/to/output/dir/full_db_restore --decrypt full_db_backup_current.tar.gpg

Tek fark eklediğim şey --no-tty ve --batch seçenekler. Unix sunucumda oturum açtıktan sonra, kullanıcıları userA'dan userB'ye değiştiriyorum. Sanırım kullanıcıları değiştirdiğim için bir hata oluştu. Komutu bir kabuk betiğinden çağırırken kullanılan seçeneklerin kullanıldığı için yazma çözümü olup olmadığından emin değilim. Herhangi bir ek bilgi çok takdir edilecektir. Şimdiden teşekkürler.


2

Bu komutu kullanmanız gerekir:

    gpg --batch --passphrase-fd 1 --passphrase-file /path/to/passphrase/file  
    --output /path/to/output/dir/full_db_restore full_db_backup_current.tar.gpg

--batch : etkileşimli olmayan mod için komut dosyalarında kullanılır (sorulmadan);

--passphrase-fd 1 birlikte --passphrase dosya : parolayı bir dosyadan okumak için.

Yalnızca * nix üzerinde --passphrase-file kullanıyorsanız, çalışmaz.

İyi şanslar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.