यूनिक्स में कुछ फ़ाइलों को एन्क्रिप्ट करने के लिए एक अच्छा समाधान क्या है? [बन्द है]


44

मैं लिनक्स में कुछ निर्देशिकाओं को एन्क्रिप्ट करने के लिए एक उपयोगिता की तलाश कर रहा हूं। मैं किसी पूर्ण डिस्क एन्क्रिप्शन सेवाओं की तलाश में नहीं हूं, लेकिन बस क्लाउड में फ़ाइलों को संग्रहीत करने के प्रयोजनों के लिए कुछ निर्देशिकाओं को एन्क्रिप्ट करने के लिए। उन्हें पुनर्प्राप्त करने से पहले, मुझे उन्हें एक्सेस करने से पहले डिक्रिप्ट करना चाहिए। निर्देशिका के एक जोड़े के लिए ऐसा करने के लिए देख रहे हैं (आकार में कुछ सौ जीबी)। कोई विचार? अधिमानतः सीएलआई आधारित।

जवाबों:


51

मैं इस कार्य के लिए सिर्फ GnuPG का उपयोग करता हूं। फ़ोल्डरों को पहले TAR-GZ संग्रह में पैक किया जाता है:

tar czf files.tar.gz /path/to/my/files

यदि पहले से नहीं किया गया है, तो आपको पहले एक GPG निजी / सार्वजनिक की-जोड़ी बनाने की आवश्यकता है:

gpg --gen-key

निर्देशों का पालन करें। चूक पहले परीक्षण के लिए पर्याप्त होनी चाहिए। कुछ इस तरह दिखाई देगा:

gpg (GnuPG) 2.0.18; कॉपीराइट (C) 2011 फ्री सॉफ्टवेयर फाउंडेशन, इंक।
यह मुफ्त सॉफ्टवेयर है: आप इसे बदलने और पुनर्वितरित करने के लिए स्वतंत्र हैं।
कानून द्वारा अनुमत सीमा तक कोई वारंटी नहीं है।

कृपया चुनें कि आपको किस प्रकार की कुंजी चाहिए:
   (1) आरएसए और आरएसए (डिफ़ॉल्ट)
   (२) डीएसए और एलागमल
   (3) डीएसए (केवल हस्ताक्षर)
   (4) आरएसए (केवल हस्ताक्षर)
आपका चयन? 1
RSA कुंजियाँ 1024 और 4096 बिट्स के बीच हो सकती हैं।
आप क्या चाहते हैं? (२०४ () ४० ९ ६
अनुरोधित कुंजी 4096 बिट्स है
कृपया निर्दिष्ट करें कि कुंजी कब तक मान्य होनी चाहिए।
         0 = कुंजी समाप्त नहीं होती है
        = कुंजी n दिनों में समाप्त हो रही है
      w = n सप्ताह में कुंजी समाप्त हो रही है
      n = n महीनों में कुंजी समाप्त हो रही है
      y = n वर्षों में कुंजी समाप्त हो रही है
कुंजी के लिए मान्य है? (0)
कुंजी बिल्कुल समाप्त नहीं होती है
क्या ये सही है? (y / N) y

GnuPG को आपकी कुंजी की पहचान करने के लिए एक उपयोगकर्ता आईडी बनाने की आवश्यकता है।

वास्तविक नाम: फ़ाइल एन्क्रिप्शन कुंजी
ईमेल पता: admin@company.org
टिप्पणी: फ़ाइल एन्क्रिप्शन कुंजी
आपने इस USER-ID का चयन किया:
    "फ़ाइल एन्क्रिप्शन कुंजी (फ़ाइल एन्क्रिप्शन कुंजी)"

बदलें (एन) एम, (सी) ओमेंट, (ई) मेल या (ओ) के / / (क्यू) यूट? ओ

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

यदि सब कुछ किया जाता है, तो आपकी स्क्रीन पर ऐसा कुछ दिखाई देगा:

हमें बहुत सारे यादृच्छिक बाइट्स उत्पन्न करने की आवश्यकता है। यह प्रदर्शन करने के लिए एक अच्छा विचार है
कुछ अन्य क्रिया (कीबोर्ड पर टाइप करें, माउस को स्थानांतरित करें, का उपयोग करें)
प्राइक्स) प्राइम जनरेशन के दौरान; यह यादृच्छिक संख्या देता है
पर्याप्त एन्ट्रापी हासिल करने के लिए जनरेटर एक बेहतर मौका है।
हमें बहुत सारे यादृच्छिक बाइट्स उत्पन्न करने की आवश्यकता है। यह प्रदर्शन करने के लिए एक अच्छा विचार है
कुछ अन्य क्रिया (कीबोर्ड पर टाइप करें, माउस को स्थानांतरित करें, का उपयोग करें)
प्राइक्स) प्राइम जनरेशन के दौरान; यह यादृच्छिक संख्या देता है
पर्याप्त एन्ट्रापी हासिल करने के लिए जनरेटर एक बेहतर मौका है।
gpg: मुख्य FE53C811 को अंततः विश्वसनीय के रूप में चिह्नित किया गया है
सार्वजनिक और गुप्त कुंजी बनाई और हस्ताक्षर किए।

gpg: ट्रस्टडब की जाँच कर रहा है
gpg: 3 सीमांत (एस), 1 पूर्ण (एस) की जरूरत, पीजीपी ट्रस्ट मॉडल
gpg: गहराई: ० वैध: १ हस्ताक्षरित: ० विश्वास: ०, ०, ०, ० एन, ० मी, ० मी, ० एफ, १ यू
पब ***** / ******** 2013-03-19
      कुंजी फिंगरप्रिंट = **** **** **** **** **** **** **** **** **** ****
uid फ़ाइल एन्क्रिप्शन कुंजी (फ़ाइल एन्क्रिप्शन कुंजी) 
उप ***** / ******** 2013-03-19

अब आप सार्वजनिक कीफाइल को अन्य मशीनों पर आयात करने के लिए निर्यात कर सकते हैं :

gpg --armor --output file-enc-pubkey.txt --export 'File Encryption Key'

File Encryption Keyनाम मैं कुंजी पीढ़ी प्रक्रिया के दौरान दर्ज की गई है।

अब मैं नए बनाए गए संग्रह पर GnuPG का उपयोग कर रहा हूं:

gpg --encrypt --recipient 'File Encryption Key' files.tar.gz

अब आपके पास एक files.tar.gz.gpgफ़ाइल है जो एन्क्रिप्टेड है।

आप इसे निम्न आदेश के साथ डिक्रिप्ट कर सकते हैं (आपसे आपका पासफ़्रेज़ मांगा जाएगा):

gpg --output files.tar.gz --decrypt files.tar.gz.gpg

वह पूरा जादू है।

सुनिश्चित करें कि आप अपनी कुंजी का बैकअप लें! और अपने पासफ़्रेज़ को कभी न भूलें! यदि आपका बैकअप नहीं है या भूल गए हैं, तो आपके पास डेटा जंक के गीगाबाइट्स हैं!

इस आदेश के साथ अपनी निजी कुंजी का बैकअप लें:

gpg --armor --output file-enc-privkey.asc --export-secret-keys 'File Encryption Key'

लाभ

  • किसी भी एनक्रिप्टर्स को एन्क्रिप्शन के बारे में संवेदनशील जानकारी जानने की आवश्यकता नहीं है - एन्क्रिप्शन सार्वजनिक कुंजी के साथ किया जाता है। (आप अपने स्थानीय कार्य केंद्र पर मुख्य जोड़ी बना सकते हैं और केवल सार्वजनिक कुंजी को अपने सर्वर में स्थानांतरित कर सकते हैं)
  • स्क्रिप्ट फ़ाइलों या नौकरियों में कोई पासवर्ड नहीं दिखाई देगा
  • आप किसी भी सिस्टम पर जितना चाहें एनक्रिप्टर्स कर सकते हैं
  • यदि आप अपनी निजी कुंजी और पासफ़्रेज़ को गुप्त रखते हैं, तो सब कुछ ठीक है और समझौता करने के लिए बहुत कठिन है
  • आप विशिष्ट पीजीपी / जीपीजी कार्यान्वयन का उपयोग करके यूनिक्स, विंडोज और लिनक्स प्लेटफार्मों पर निजी कुंजी के साथ डिक्रिप्ट कर सकते हैं
  • एन्क्रिप्ट और डिक्रिप्टिंग सिस्टम पर विशेष विशेषाधिकार की आवश्यकता नहीं, कोई बढ़ते नहीं, कोई कंटेनर नहीं, कोई विशेष फ़ाइल सिस्टम नहीं

1
ध्यान दें कि डेटा के आधार पर, यह संपीड़ित करने से बचने के tarलिए zस्विच के बिना चलाने के लिए तेज़ हो सकता है।
l0b0

28

अपने हिस्से के लिए, मैं मुख्य रूप से दो तरीकों का उपयोग करता हूं:

पहली विधि: टार और ओपनसेल

निर्देशिका टार

tar cvf backup.tar /path/to/folder

आप वर्बोज़ मोड को स्विच करने के लिए टार कमांड से [v] स्विच को हटा सकते हैं।

एन्क्रिप्ट

openssl aes-128-cbc -salt -in backup.tar -out backup.tar.aes -k yourpassword

आप aes-128-cbc को किसी भी अन्य सिफर मेथड को खोलता है।

डिक्रिप्ट

openssl aes-128-cbc -d -salt -in backup.tar.aes -out backup.restored.tar

यह पासवर्ड के लिए पूछेगा।

दूसरी विधि: एन्क्रिप्टेड ज़िप

zip -r -0 -e backup.zip /path/to/folder

यह पासवर्ड के लिए पूछेगा।

  • -r का अर्थ है पुनरावर्ती (संपूर्ण फ़ोल्डर ट्री)
  • -0 का मतलब केवल स्टोर (संपीड़ित, तेज) नहीं है
  • -इसका मतलब होता है एन्क्रिप्ट आर्काइव

इसका एक फायदा: यह विंडोज़ आधारित प्रणाली के साथ बेहतर काम करेगा।


3
कमांड लाइन पर पासवर्ड देना एक अच्छा विचार नहीं है। पासवर्ड शेल इतिहास में रहता है।
pbies

1
यह ध्यान दिया जाना चाहिए कि zipएन्क्रिप्शन अफवाह फैलाने वाला है।
एक्यूमेनस

22

यदि आप सार्वजनिक / निजी कुंजी जोड़ी के साथ अपनी फ़ाइलों को एन्क्रिप्ट नहीं करना चाहते हैं और इसके बजाय पास वाक्यांश के साथ बस सममित एन्क्रिप्शन का उपयोग करते हैं, तो निम्न निर्देश का उपयोग करें:

gpg --symmetric --cipher-algo aes256 files.tar.gz

आपसे आपके पास वाक्यांश के लिए कहा जाएगा। उसके बाद नाम की एक एन्क्रिप्टेड फाइल files.tar.gz.gpgबनाई जाती है।

डिक्रिप्ट का उपयोग करने के लिए कमांड

gpg --decrypt files.tar.gz.gpg > files.tar.gz

2

आप truecrypt का उपयोग बहुत ही सरल और अच्छा समाधान कर सकते हैं। इसमें केवल उपयोग के लिए कंसोल के लिए पैकेज है। यह सीखना और उपयोग करना बहुत सरल है। http://www.truecrypt.org


4
28-मई -2014 तक, TrueCrypt नहीं है। देखें en.wikipedia.org/wiki/TrueCrypt
ब्राइस

2

इस तरह के उद्देश्य के लिए मैं सुझाव दूंगा एन्क्रिप्शन (जैसे एनकोफ़्स ) - छोटे डेटा के लिए मैं gpg का उपयोग करूंगा।

यह fs उपयोगकर्ता स्थान में लागू किया गया है ताकि आपको किसी विशेष विशेषाधिकार की आवश्यकता न हो।


1

डेटा एन्क्रिप्टिंग उद्देश्य के लिए कुछ लिनक्स फाइलसिस्टम किस्मत में हैं। क्या आपने पहले से ही लक्स जैसे के बारे में सोचा है ?


1

एक फ़ाइल को एन्क्रिप्ट करने का एक बहुत ही सरल तरीका है:

gpg -c filename.ext

आपको दो बार पासफ़्रेज़ के लिए कहा जाएगा, और gpg बनाएगा filename.ext.gpg। एन्क्रिप्ट की गई फ़ाइल को अपनी क्लाउड सेवा पर अपलोड करें। फ़ाइल का उपयोग ठीक करने के लिए:

gpg filename.ext.gpg

जो दोबारा बनाएंगे filename.ext। ध्यान दें कि अनएन्क्रिप्टेड फाइलें सुरक्षित नहीं हैं, और संबंधित डेटा डिलीट होने के बाद भी आपके स्टोरेज माध्यम पर रहेगा। केवल gpg कंटेनर सुरक्षित है। EncFS फ़ाइल स्तर पर क्लाउड आधारित एन्क्रिप्शन के लिए अधिक व्यावहारिक विकल्प है।

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