इसे खोलते समय .gpg फ़ाइल का पासवर्ड कैसे टाइप करें


17

(मैं निम्नलिखित के सुरक्षा निहितार्थों को समझता हूं, और मैं उनके साथ ठीक हूं।)

मेरे पास अपनी org डायरेक्टरी में एक सिंगल एनक्रिप्टेड फाइल है diary.org.gpg। मैंने कभी भी काम करने के लिए कोई विशेष विन्यास नहीं किया, फिर भी

  1. जब भी मैं फ़ाइल पर जाता हूं, मुझे एन्क्रिप्शन पासवर्ड के लिए संकेत दिया जाता है। जो माहान है।
  2. जब भी मैं बफर को सहेजता हूं, मुझे दो बार फिर से पासवर्ड के लिए कहा जाता है। जो मेरी समस्या है

ध्यान दें कि मैंने इस काम के लिए कुछ भी कॉन्फ़िगर नहीं किया है, इसलिए एजेंटों या कुंजीयर्स के बारे में किसी भी उत्तर को कॉन्फ़िगरेशन निर्देशों के साथ आना होगा।

मैंने फाइल के अंदर कहीं पासवर्ड लिखा है (हेडर या एंड-ऑफ-फाइल टिप्पणियों पर) रखने का सोचा। फिर, जब भी मैं बचत करता हूं, Emacs बफर में पासवर्ड पढ़ सकता है और मुझे संकेत देने के बजाय इसका उपयोग कर सकता है। लेकिन जब मैंने इस पर गौर करना शुरू किया, तो मैं पूरी तरह से कहीं खो गया epa.el

प्रश्न: बफर को सहेजते समय, इसके लिए संकेत दिए जाने के बजाय मैं Emacs से एन्क्रिप्शन सिस्टम / प्रक्रिया में सीधे पासवर्ड कैसे भेज सकता हूं?

बाकी सभी (मैं बफर में पासवर्ड ढूंढ रहा हूं) मैं खुद पता लगा सकता हूं। मैं बस समझ गया जब Emacs gpg के साथ हस्तक्षेप कैसे समझने की कोशिश कर रहा है।

ध्यान दें कि मैं उबंटू, आर्क लिनक्स और विंडोज पर हूं। यही कारण है कि मेरा पहला विचार एक एमएसीएस-केंद्रित समाधान था।
मैं एक ऐसे समाधान के साथ रह सकता हूं जो विंडोज पर काम नहीं करता है, जब तक कि मैं अभी भी उस पर फ़ाइल को मैन्युअल तरीके से एक्सेस कर सकता हूं।


मुझे यह लगता है : orgmode.org/worg/org-tutorials/encrypting-files.html#sec-5 जो आप चाहते हैं ( gpg- एजेंट)।
wvxvw

@wvxvw शायद। यह बचत के बारे में कुछ नहीं कहता है, इसलिए मुझे इसे आज़माना होगा।
मालाबार

ईमानदार होने के लिए, GPG और संबंधित कार्यक्रमों में उल्लेखनीय रूप से खराब यूजर इंटरफेस है। यह वास्तव में कठिन है कि वे इंटरफ़ेस या प्रलेखन में से क्या करते हैं। लेकिन इस उद्देश्य के बारे में मेरी समझ gpg-agentयह है कि यह ssh-agentकेवल आपके पास मौजूद पासवर्ड को संग्रहीत करने के लिए है, जैसे ही आप इसे सक्रिय करते हैं। इसलिए आपको पासवर्ड तब नहीं दिया जाएगा जब आप कोई फ़ाइल खोलते हैं, न ही जब आप इसे सेव करते हैं (जब तक कि एजेंट पासवर्ड याद रखता है), लेकिन मुझे नहीं लगता कि यह पासफ़्रेज़ तक फैला है, जो गूंगा है , यदि सत्य हैं।
wvxvw

आप शायद gpg-agentसही ढंग से सेट करना चाहते हैं , ताकि यह थोड़ी देर के लिए कुंजी को कैश करे? :)
गुंथर नैक

1
@wvxvw शायद ऐसा ही हुआ करता था? मैंने कहा कि टूल के मैन पेज काफी विस्तृत हैं और (सीएलआई) इंटरफेस वह है जो आमतौर पर टर्मिनल-आधारित कार्यक्रमों से अपेक्षित होता है।
15

जवाबों:


12

पासवर्ड + कुंजी का उपयोग कर एन्क्रिप्शन

यह फ़ाइल में सीधे पासवर्ड को नहीं बचाता है, लेकिन बिना किसी सुरक्षा जोखिम के कुछ ऐसा ही करता है और आपको जो चाहें प्राप्त करने में मदद करता है।

  • आपको असममित एन्क्रिप्शन का उपयोग करने की आवश्यकता है ताकि आपका पासवर्ड एक कीरिंग में ईमेल आईडी के साथ जुड़ा हो ।

  • नीचे अपने .gpg फ़ाइल के शीर्ष पर सहेजें

-*- epa-file-encrypt-to: ("your@email.address") -*-

पासवर्ड को पहली बार फाइल सेव / क्रिएट होने पर संकेत दिया जाता है। लेकिन उसके बाद हर बार सहेजे गए फ़ाइल को खोलने के बाद केवल एक बार पासवर्ड का संकेत दिया जाता है

एकमात्र पकड़ यह है कि आपको कीरिंग फ़ाइल को नहीं खोना चाहिए जो ~/.gnupg/डिफ़ॉल्ट रूप से सहेजा गया है।

GPG सेटअप

Emacs सेटअप

Emacs में इसके लिए कोई सेटअप करने की आवश्यकता नहीं है।

प्रणाली की स्थापना

लेकिन आपको काम करने के लिए GPG सुविधा के लिए कुछ पुस्तकालयों के साथ अपने सिस्टम वातावरण को तैयार करने की आवश्यकता है।

इसे स्थापित करने के समय, मुझे निम्नलिखित को स्थापित करना था:

  • gpgme-1.5.3
  • libgpg-त्रुटि 1.17
  • libksba-1.3.2
  • libassuan-2.2.0
  • libgcrypt-1.6.2
  • GnuPG-2.0.26
  • pinentry-0.9.0

मुझे उपरोक्त पुस्तकालयों में से एक या दो की आवश्यकता थी और मैंने दूसरों को स्थापित करना समाप्त कर दिया क्योंकि वे या तो अनिवार्य या वैकल्पिक निर्भरता थे।

एक बार जब सब कुछ स्थापित हो जाए, तो करें

> gpg --gen-key

और अपने लिए कभी न समाप्त होने वाली कुंजी उत्पन्न करें और उसे अपने वास्तविक नाम और ईमेल के साथ संबद्ध करें।

उत्पन्न कुंजी आपकी ~/.gnupg/निर्देशिका में सहेजी जाएगी ।

कीरिंग स्थान बदलना

आप या तो बदलकर $GNUPGHOME, का उपयोग करके --homedirया --keyringविकल्पों के द्वारा कीरिंग का स्थान बदल सकते हैं gpg

से man gpg:

--keyring file

की-बोर्ड की वर्तमान सूची में फ़ाइल जोड़ें। यदि फ़ाइल टिल्ड और स्लैश के साथ शुरू होती है, तो इन्हें $ HOME निर्देशिका द्वारा बदल दिया जाता है। यदि फ़ाइल नाम में स्लैश नहीं है, तो इसे GnuPG होम डायरेक्टरी में माना जाता है ("~ / .gnupg" यदि --homedir या $ GNUPGHOME का उपयोग नहीं किया जाता है)।

ध्यान दें कि यह वर्तमान सूची में एक कीरिंग जोड़ता है। यदि इरादा निर्दिष्ट कीरिंग का अकेले उपयोग करने का है, तो --keyring के साथ -no-default-keyring का उपयोग करें।

Emacs के साथ GPG का उपयोग करना

Emacs में, आप बस .gpgएक्सटेंशन वाली फाइल बनाते हैं । उदाहरण के लिए, यदि फ़ाइल मूल रूप से थी auth.el, तो आप इसका नाम बदल देंगे auth.el.gpg

इस पंक्ति को फ़ाइल के शीर्ष पर रखें:

;; -*- epa-file-encrypt-to: ("your@email.address") -*-

ध्यान दें कि मैंने ;;यहाँ उदाहरण फ़ाइल के रूप में elisp comment char का उपयोग किया है auth.el.gpg

कुंजी पीढ़ी के समय आपके द्वारा उपयोग किए गए सटीक ईमेल पते का उपयोग करें।

जब आप इसे सहेजने का प्रयास करते हैं, तो emacs इस संकेत को बफर में दिखाएगा:

Select recipients for encryption.
If no one is selected, symmetric encryption will be performed.  
- `m' to mark a key on the line
- `u' to unmark a key on the line
[Cancel][OK]

  u <GPG KEY> <YOUR NAME> (<YOUR GPG KEY NAME>) <<YOUR GPG KEY EMAIL>>

बिंदु को कुंजी से युक्त लाइन पर नेविगेट करें, हिट करें m

[OK]बटन और हिट पर बिंदु नेविगेट करें <return>

अब आप फाइल को सेव कर सकते हैं और उस फाइल बफर को मार सकते हैं।

अगली बार जब आप उस .gpg फ़ाइल को खोलते हैं, तो आपको पासवर्ड के लिए केवल एक बार संकेत दिया जाएगा और फिर लगातार सेव पासवर्ड-प्रॉम्प्ट-फ़्री होगा।

और जानकारी

  • यहाँ एक ब्लॉग पोस्ट है जो एमएसीएस और जीपीजी सेटअप के बारे में बात करता है जिसे आप भी देख सकते हैं।
  • ईज़ीपीजी - emacswiki.org

अगर मैं कीरिंग फ़ाइल खो देता हूं, तो क्या मैं अभी भी एन्क्रिप्टेड फ़ाइल को सामान्य पासवर्ड से खोल पाऊंगा या क्या यह हमेशा के लिए खो गई है?
मालाबार

@ मालाबार मैंने कोशिश नहीं की, लेकिन मेरा मानना ​​है कि यह हमेशा के लिए खो गया है। लेकिन अच्छी बात यह है कि उस फ़ाइल को केवल एक बार जनरेट किया जाता है जब आप ईमेल और पासवर्ड को कीरिंग तत्व से जोड़ते हैं। जब तक आप अधिक कीरिंग तत्व (अधिक पासवर्ड + ईमेल जोड़े) नहीं जोड़ते हैं, तब तक इसे पहली बार संशोधित नहीं किया जाता है। मैं बस एक USB कुंजी और ड्रॉपबॉक्स में उस फ़ाइल का बैकअप रखता हूं और सुनिश्चित करता हूं कि पासवर्ड सुपर सुरक्षित है।
कौशल मोदी

मैंने पोर्टेबल होने के लिए सममित रूप से एन्क्रिप्ट किए गए दस्तावेजों का परीक्षण किया है। मैंने लिनक्स में emacs में कुछ एन्क्रिप्ट किया और इसे विंडोज़ के लिए उपलब्ध कई मुफ्त GPG डिक्रिप्टर टूल में से एक का उपयोग करके खोला। इसने कीरिंग के लिए कहा और इसे ड्रॉपबॉक्स में मेरे बैकअप की ओर इशारा किया और इसने काम किया।
कौशल मोदी

बस FYI करें: हाँ, कुंजी फ़ाइल खोने का मतलब है कि आप अपनी एन्क्रिप्टेड फ़ाइलों तक भी स्थायी रूप से पहुँच खो सकते हैं। आपको उन्हें अनएन्क्रिप्ट करने के लिए पासवर्ड और निजी कुंजी फ़ाइल दोनों की आवश्यकता होती है। यह असममित एन्क्रिप्शन के लिए GPG सुरक्षा मॉडल का हिस्सा है।
टायलर

लगता है कि मुझे इस जवाब के साथ जाना होगा। क्या आप जानते हैं कि मैं कीरिंग फ़ाइल का स्थान कैसे बदल सकता हूँ?
मालाबार

9

मुझे जो करना था, वह कर दिया

(setq epa-file-cache-passphrase-for-symmetric-encryption t)

यह समाधान लिनक्स और विंडोज दोनों पर काम करता है, और टेड और माइकल के सौजन्य से हेल्प-ग्नू-एमएसीएस पर शिष्टाचार है।


यह जानकर अच्छा लगा कि यह आपके लिए काम करता है! मेरे पास सालों से मेरे Emacs config में यह सेटिंग थी, लेकिन कुछ समय में इसने काम करना बंद कर दिया। मुझे संदेह है कि इसका मेरे सूक्ति-कीरिंग-डेमन (जो एक gpg कीरिंग के रूप में भी कार्य करता है) के मेरे उपयोग के साथ करना है।
पप्रिका

4
के लिए docstring से epa-file-cache-passphrase-for-symmetric-encryption: "ध्यान दें कि इस विकल्प का कोई प्रभाव नहीं है यदि आप GnuPG 2.0 का उपयोग करते हैं।"
विल्फ्रेड ह्यूजेस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.