Gentoo Linux GPG, parametreden geçirilen bir dosyayı düzgün bir şekilde şifreler ancak standart girdiden okurken "cihaz için uygun olmayan ioctl" atar.


23

Çekirdek 4.1.7-sertleştirilmiş-r1 ile Gentoo Hardened kullanıyorum ve DISPLAYşifre istemi için pinentry-curses kullanmak için SSH'den açılan bir kabuk oturumundan GPG kullanarak bir dosyayı şifrelemeye çalışıyorum ve değişken devre dışı bırakılmış. Kullanarak gpg -o file.gpg --symmetric filesadece şifreleyebilirim. Kullanarak pv file | gpg -o file.gpg --symmetricaşağıdaki hata iletisini alıyorum:

gpg-agent[30745]: command get_passphrase failed: Inappropriate ioctl for device

Yanıtlar:


41

GPG_TTY değişkeninizi, bu belgede olduğu gibi çalışması için ayarlamanız gerekir :

GPG_TTY=$(tty)
export GPG_TTY

Bu iki satırın .bashrcsizde olması gerekiyordu (bash varsayarak), bu yüzden her yeni terminal oturumu açtığınızda çalışırlar.

Yine de başka bir çözüm var: kısacası pv, işleminizi değiştirip kullanarak dosya olarak çalıştırabilir ve bir dosya gibi davranabilirsiniz:

gpg -o file.gpg --symmetric <(pv file)

Bu nedenle, ek girdi bekleyen programlara bir şeyler eklemek iyi bir fikir olmayabilir. Beklenenden farklı çalışabilir.


Bu davranışı değiştirmenin veya düzeltmenin bir yolu var mı? Şu anda Debian'daki aynı stt-from okuma komutunu denedim ve GPG şifremi istedi.
RAKK

@RAKK Sonuçta ortaya çıkan dosyanın şifresini çözebilir misiniz?
TNW

Evet, Debian hakkında bir aksama olmadan. Rastgele veri adı verilen küçük bir dosya oluşturun dsfargeg, şifreleyin pv dsfargeg | gpg -o dsfargeg.gpg --symmetric, istendiğinde bir şifre girin, çıktının şifresini çözün, gpg -o dsfargeg.gpg.dec --decrypt dsfargeg.gpgşifrenizi girin ve orijinal ve şifresi çözülmüş dosyayı karşılaştırın sha256sum dsfargeg dsfargeg.gpg.dec. Her iki karma aynı olacaktır.
RAKK,

@RAKK Haklısın. Anlaşılan gpg /dev/ttyDebian'da açılıyor . Benim durumumda bu 1.4 versiyonuydu; gpg o zamandan beri biraz elden geçirdi. Bu yaklaşım bir nedenden ötürü bırakılmış olabilir - kendi başınıza daha fazla bilgi edinmek isteyebilirsiniz (veya bu Debian'a özgü bir düzeltme eki olabilir). Bu nedenle, buna güvenmemeniz muhtemelen daha iyi olur. Daha yeni gpg’de tam olarak ne olduğunu kontrol etmek için izleri süreceğim (2.1'im var).
TNW

Garip bir şekilde bir çözüm buldum! GPG_TTY değişkenini ayarlamak benim için yapar. Buna göre cevabı güncelleyeceğim.
TNW
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.