यूनिक्स के भीतर एक पासफ़्रेज़ का उपयोग करके एक जीपीजी फ़ाइल को डिक्रिप्ट करने में विफलता


1

मैं एक यूनिक्स शेल प्रॉम्प्ट में निम्नलिखित कमांड का उपयोग करके एक फाइल को डिक्रिप्ट करने की कोशिश कर रहा हूं:

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

ऊपर कमांड चलाते समय मुझे निम्न त्रुटि मिलती है:

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

मैंने सत्यापित किया है कि पिनेंट्री स्थापित है। मुझे यकीन नहीं है कि अगर पिंट्री मुद्दा है। मुझे लगता है कि यह "कोई गुप्त कुंजी" त्रुटि के साथ हो सकता है। किसी भी सहायता की सराहना की जाएगी।


अच्छा सवाल है, लेकिन मुझे लगता है कि इसे सुपरयुसर में ले जाना चाहिए, क्योंकि यह प्रोग्रामिंग से जुड़ा सवाल नहीं है।
हाइजेनबग

जवाबों:


2

मैंने इसका हल खोज लिया है।

/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

एकमात्र अंतर यह है कि मैंने जोड़ा है --no-ttyऔर --batchविकल्प। अपने यूनिक्स सर्वर पर लॉग इन करने के बाद, मैं यूजर्स को userA से userB पर स्विच करता हूं। मैं मान रहा हूं कि क्योंकि मैं उपयोगकर्ताओं को स्विच करता हूं, इसलिए एक त्रुटि हुई थी। मुझे यकीन नहीं है कि यह लिखित समाधान है क्योंकि शेल स्क्रिप्ट से कमांड को कॉल करते समय ऊपर वर्णित विकल्प का उपयोग किया जाता है। किसी भी अतिरिक्त जानकारी की बहुत सराहना की जाएगी। अग्रिम में धन्यवाद।


2

आपको इस आदेश का उपयोग करना होगा:

    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

-बैच : गैर-संवादात्मक मोड (कोई पूछ नहीं) के लिए स्क्रिप्ट में उपयोग किया जाता है;

--passphrase-fd 1 के साथ एक साथ --passphrase-फ़ाइल : एक फ़ाइल से पदबंध को पढ़ने के लिए।

यदि आप केवल - nixphrase-file का उपयोग * निक्स पर करते हैं तो यह काम नहीं करेगा।

सौभाग्य।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.