gpg dešifrování dává chybu v systému Linux „nemůže získat přístupové heslo v dávkovém režimu“

hlasů
1

Hi im pomocí gpg pro dešifrování souborů v Linuxu, im s použitím

shell_exec(gpg --batch --passphrase-file $passphrase_file -d $encrypted_file); 

dešifrovat soubor, ale im stále následující chyby.

gpg: gpg-agent is not available in this session
gpg: can't query passphrase in batch mode
gpg: Invalid passphrase; please try again ...
gpg: can't query passphrase in batch mode
gpg: Invalid passphrase; please try again ...
gpg: can't query passphrase in batch mode
Položena 21/09/2011 v 22:14
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Tato chyba vzniká dojem, že commaand nemá rád spustit pomocí shell_exec (podobně jak sudo / ssh varuje potřebují tyy při spuštění s shell_exec) ::

gpg: gpg-agent is not available in this session

Co se stane, pokud u spustit přímo z příkazové řádky?

Také se ujistěte, že si není v nouzovém režimu:

shell_exec () (funkčním ekvivalentem backticks) Tato funkce je zakázána, když PHP běží v nouzovém režimu.

Zkontrolujte, zda se phpinfo ()


zkontrolujte, zda je funkce není zakázán:

$ grep 'disable_functions' /etc/php.ini

Upravit:

Také se snaží pomocí putenv poukázat GNUPGHOME do složky .gnupg.

Mohlo by se stát, že php skript spuštěn jako uživatel httpd a gpg očekává ‚uživatelem‘ uživatele na svých stránkách.

Odpovězeno 21/09/2011 v 22:26
zdroj uživatelem

hlasů
0

Narazil jsem na podobný problém volání gpg z cron. Příkaz funguje při spuštění z příkazového řádku nebo ze skriptu shellu. Spuštění příkazu z cron nezdaří s stejné chyby jste se dostal. Dva zdroje jsem našel byl dobrý gpg cheetsheet A tato odpověď na serverfault

Byl jsem schopen dostat se do práce po generování gpg klíčem.

gpg --gen-key

A potom zašifrovat pomocí:

gpg -e -r name@domain.tld backup_file.tgz
Odpovězeno 12/06/2015 v 01:31
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more