Chcę napisać skrypt, który uruchomi gpg
plik o nazwie „plik” z hasłem „test”.
Zwykle, kiedy używam gpg
, zwykle po prostu biegam gpg -c file
i prosi mnie o hasło. Ale ponieważ chcę, aby ten skrypt działał samodzielnie, chciałbym podać hasło jako część polecenia.
Teraz, gdy próbuję użyć gpg -c file --passphrase test
:, wyświetla:
użycie: gpg [opcje] --symetryczny [nazwa pliku]
Których szwów chciałbym użyć gpg --passphrase test --symmetric file
. Ale jeśli to zrobię, pojawi się okno dialogowe z prośbą o użycie hasła; co nie jest tym czego chcę.
Jak poprawnie skonfigurować argumenty?
--passphrase
i--symmetric
argumentów była właściwie poprawna, ale brakowało mi tylko--batch
argumentu? Ponieważ to nie działało dla mnie. Na--batch
wszelki wypadek próbowałem dodać zarówno przed, jak i po. Nie wiem też, jak sprawdzić, czy korzystam z GPG 2, ale napisana przez ciebie częśćNote that this passphrase is only used if the option --batch has also been given.
nie istnieje na mojejman
stronie.gpg --version
powinien podać informacje o używanej wersji GnuPG. Czy masz plikgpg2
binarny?gpg
to 1.4.16. Zainspirowany twoimi komentarzami, dowiedziałem się, że gpg2 jest rozwijany osobno, więc zainstalowałem go i wypróbowałem, ale narzeka, żeno valid OpenPGP data found. processing message failed: Unknown system error
--symmetric
i--passphrase
kolejność wydaje się nie mieć znaczenia, ale spróbuj--export
zdefiniować--armor
później. Zasadniczo opcje muszą poprzedzać komendy, co jest także kolejnością zdefiniowaną na stronach podręcznika.Jeśli
gpg --version
raporty v2, musisz dodać--batch
opcję.W oparciu o dane wyjściowe składni prawdopodobnie używasz v1, w którym to przypadku chcesz:
Pamiętaj, że kolejność opcji nie jest ważna; jednak każdy plik musi być ostatnim argumentem.
źródło
Użycie
--pinentry-mode loopback
działa z--passphrase
&--passphrase-[file/fd]
i pozwoli ci wprowadzić nowe informacje, na przykład w przypadku konfliktu nazw plików:inaczej
--batch
to szybko zawiedzie, mówiąc...failed: File exists
Jeśli pierwotnie dodałeś
-v
najpierw opcję verbose ( ), powinieneś zobaczyć coś takiego:wskazując całkiem wyraźnie, że nie podobało mu się to, że na pierwszym miejscu było
-c
(--symmetric
).Uważam, że zachowanie gpg2 polegające na ignorowaniu
--passphrase
opcji, chyba że towarzyszy--batch
temu błąd.źródło