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


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


44
2018-03-19 06:16


मूल




जवाब:


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

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

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

gpg --gen-key

निर्देशों का पालन करें। पहले परीक्षण के लिए डिफ़ॉल्ट होना चाहिए। ऐसा कुछ दिखाई देगा:

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

कृपया चुनें कि आप किस प्रकार की कुंजी चाहते हैं:
   (1) आरएसए और आरएसए (डिफ़ॉल्ट)
   (2) डीएसए और एल्गामल
   (3) डीएसए (केवल संकेत)
   (4) आरएसए (केवल संकेत)
आपका चयन? 1
आरएसए कुंजी 1024 और 4096 बिट्स के बीच हो सकती है।
आप क्या चाबियाँ चाहते हैं? (2048) 40 9 6
अनुरोधित चाबियाँ 4096 बिट्स है
कृपया निर्दिष्ट करें कि कुंजी कब वैध होनी चाहिए।
         0 = कुंजी की समयसीमा समाप्त नहीं होती है
        = कुंजी एन दिनों में समाप्त हो जाती है
      डब्ल्यू = कुंजी एन सप्ताह में समाप्त हो जाती है
      एम = कुंजी एन महीनों में समाप्त हो जाती है
      वाई = कुंजी एन साल में समाप्त हो जाती है
कुंजी के लिए मान्य है? (0)
कुंजी बिल्कुल समाप्त नहीं होती है
क्या ये सही है? (वाई / एन) वाई

जीएनयूपीजी को आपकी कुंजी की पहचान करने के लिए एक यूजर आईडी बनाने की जरूरत है।

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

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

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

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

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

जीपीजी: ट्रस्टडब की जांच
जीपीजी: 3 सीमांत की जरूरत है, 1 पूर्ण (ओं) की आवश्यकता है, पीजीपी ट्रस्ट मॉडल
जीपीजी: गहराई: 0 वैध: 1 हस्ताक्षरित: 0 ट्रस्ट: 0-, 0q, 0n, 0m, 0f, 1u
पब ***** / ******** 2013-03-19
      कुंजी फिंगरप्रिंट = **** **** **** **** **** **** **** **** **** ****
यूआईडी फ़ाइल एन्क्रिप्शन कुंजी (फ़ाइल एन्क्रिप्शन कुंजी)
उप ***** / ******** 2013-03-19

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

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

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

अब मैं नव निर्मित संग्रह पर जीएनयूपीजी का उपयोग कर रहा हूं:

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'

लाभ

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

51
2018-03-19 07:11



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


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

पहली विधि: टैर और openssl

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

tar cvf backup.tar /path/to/folder

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

एन्क्रिप्ट

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

आप किसी भी अन्य सिफर विधि openssl समर्थन (openssl --help) में एएस-128-सीबीसी बदल सकते हैं।

डिक्रिप्ट

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 का मतलब केवल स्टोर (संपीड़ित नहीं होता है, तेज़)
  • - मतलब है एन्क्रिप्ट संग्रह

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


28
2018-03-19 10:29



कमांड लाइन पर पासवर्ड देना एक अच्छा विचार नहीं है। पासवर्ड खोल इतिहास में रहता है। - pbies
इस बात पर ध्यान दिया जाना चाहिए कि zip एन्क्रिप्शन को तोड़ने योग्य अफवाह है। - A-B-B


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

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

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

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

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

22
2017-11-14 17:00





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


2
2018-03-19 07:43



28 मई-2014 तक, ट्रूक्रिप्ट अब और नहीं है। देख en.wikipedia.org/wiki/TrueCrypt - Bryce


इस उद्देश्य के लिए मैं FUSE एन्क्रिप्शन (जैसे कि encfs) - छोटे डेटा के लिए मैं जीपीजी का उपयोग करूंगा।

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


2
2018-03-19 10:23





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


1
2018-03-19 09:30





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

gpg -c filename.ext

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

gpg filename.ext.gpg

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


1
2017-07-16 16:56