Próbuję odszyfrować plik przy użyciu następującego polecenia w wierszu polecenia powłoki unix:
gpg --passphrase-file /path/to/passphrase/file --output /path/to/output/dir/full_db_restore --decrypt full_db_backup_current.tar.gpg
Podczas uruchamiania powyższego polecenia pojawia się następujący błąd:
gpg: 3DES encrypted data
gpg: problem with the agent: No pinentry
gpg: encrypted with 1 passphrase
gpg: decryption failed: No secret key
Sprawdziłem, czy pinentry jest zainstalowany. Nie jestem pewien, czy problemem jest pinentry. Mam wrażenie, że może to wynikać z błędu „Brak tajnego klucza”. Każda pomoc będzie mile widziana.
Odpowiedzi:
Znalazłem rozwiązanie tego.
Jedyną różnicą jest to, że dodałem
--no-tty
i--batch
opcje. Po zalogowaniu się na moim serwerze unix zmieniam użytkowników z użytkownika A na użytkownika B. Zakładam, że ponieważ zmieniłem użytkowników, wystąpił błąd. Nie jestem pewien, czy jest to rozwiązanie zapisu, ponieważ wspomniane powyżej opcje są używane podczas wywoływania polecenia ze skryptu powłoki. Wszelkie dodatkowe informacje będą mile widziane. Z góry dziękuję.źródło
Musisz użyć tego polecenia:
--batch : jest używany w skryptach w trybie nieinteraktywnym (bez pytania);
--passphrase-fd 1 razem z --passphrase-file : aby odczytać hasło z pliku.
Jeśli użyjesz tylko --passphrase-file na * nix, to nie zadziała.
Powodzenia.
źródło