ক্লাউডে প্রেরণের আগে ফাইলগুলি এনক্রিপ্ট করুন


4

সম্প্রতি আমি জিআইটি বরাবর স্যুইচ করেছি এবং আমার কোডটি হোস্ট করার জন্য বিটবাকেটটি বেছে নিয়েছি।

এখন সমস্ত স্নোডেন কেলেঙ্কারী নিয়ে আমি আমার পছন্দগুলি পর্যালোচনা করার সিদ্ধান্ত নিয়েছি।

আমি সত্যিই আমার নিজের সার্ভারে আমার ডেটা হোস্ট করতে চাই না, আমি বরং এটির জন্য বিটবাকেট ব্যবহার করে চলব।

নিজের কাছে বিটবাকেট সম্পর্কে আমার কাছে ভাল কথা ছাড়া আর কিছুই নেই, তবে আমি কেবল নিশ্চিত করতে চাই যে আমার ব্যক্তিগত ডেটা (উত্স কোড) সেভাবেই রয়েছে।

আমি জানি অনেকেই ড্রপবক্সের সাথে ট্রুক্রিপ্ট ব্যবহার করেছেন, আমি অবাক হয়েছি যে এটি বিটবাকেটের মাধ্যমে সম্ভব (যেমন বিটবাকেটে প্রেরণের আগে সোর্স কোড এবং ফাইলগুলি এনক্রিপ্ট করতে বাধ্য করা ), যদি কেউ ভাগ করে নিতে পারে তবে কীভাবে এটি করা যায়? আমি অনেকগুলি গুগল করেছিলাম তবে এটি করার সঠিক উপায়টি বের করতে পারিনি।


আমি বলতে যাচ্ছি এটি সম্ভব নয়। গিট এটি করতে কাজ করার জন্য আপনার সংগ্রহস্থলের ফাইলগুলির সামগ্রীর উপর নির্ভর করে (সবকিছু ফাইলের হ্যাশের উপর ভিত্তি করে)। আপনি যদি ফাইলটি এনক্রিপ্ট করেন তবে আপনি সেগুলি পরিবর্তন করুন এবং সিস্টেমটি ভেঙে দিন। আপনি যদি বিটবাকেটে বিশ্বাস না করেন তবে আপনার কোডটি সেখানে হোস্ট করবেন না।
ভারী

@ হেভিড: স্পষ্টতই যদি থুডুড তার সমস্ত ফাইল এনক্রিপ্ট করে তবে তাকে একবারে সমস্তগুলি বিটবাকেটে রিফ্রেশ করতে হবে। যতক্ষণ না তিনি একই কী সহ একই এনক্রিপশন সরঞ্জাম (অ্যালগরিদম) ব্যবহার করেন, প্রাথমিক বাধা দেওয়ার পরে কেন সমস্যা হবে? একটি অপরিবর্তিত ফাইল, একই কী দিয়ে এনক্রিপ্ট করা, এখনও অপরিবর্তিত।
স্কট

@ স্কট, বিটবকেট যদি ড্রপবক্সের মতো কেবল প্লেইন ক্লাউড স্টোরেজ হত তবে কোনও সমস্যা হবে না, তবে বিটবকেট একটি সোর্স কোড সংগ্রহস্থল যা গিট এবং মারকুরিয়াল এর মতো এসসিএম সিস্টেমের শীর্ষে নির্মিত। গিটের উপর ভিত্তি করে থাকা এই বিষয়টিকেই কঠিন করে তোলে। এনক্রিপ্ট হওয়া ডেটা দিয়ে গিট ভাল কাজ করবে না।
21

উত্তর:


9

একটি সমাধান গিট smudgeএবং clean ফিল্টার ব্যবহার করা যেতে পারে । এই সমাধানটির কিছু মারাত্মক অবলম্বন রয়েছে, যা আমরা পরে আসব।

আপনাকে দুটি স্ক্রিপ্ট লিখতে হবে যা ফিল্টার হিসাবে কাজ করে, যেমন স্ট্যান্ডার্ড ইনপুট থেকে পড়া এবং স্ট্যান্ডার্ড আউটপুটে লিখতে write ডকুমেন্টেশন থেকে:

ফিল্টার ড্রাইভারের মধ্যে একটি ক্লিন কমান্ড এবং একটি স্মাড কমান্ড থাকে, যার মধ্যে দুটিই অনির্দিষ্ট করা যায়। চেকআউট করার পরে, স্মাড কমান্ডটি নির্দিষ্ট করা হলে, কমান্ডটি স্ট্যান্ডার্ড ইনপুট থেকে ব্লব অবজেক্টকে খাওয়ানো হয় এবং ওয়ার্কট্রি ফাইল আপডেট করার জন্য এর স্ট্যান্ডার্ড আউটপুট ব্যবহার করা হয়। একইভাবে, ক্লিন কমান্ডটি ওয়ার্কট্রি ফাইলের বিষয়বস্তুগুলি চেকিনের উপর রূপান্তর করতে ব্যবহৃত হয়।

উদাহরণস্বরূপ, ওপেনসেল ব্যবহার করার সময় আমরা ফাইলগুলি লিখতে পারি fooenc.sh:

#!/bin/sh
openssl enc -bf -nopad -pass pass:1KjeHD8d6YUI80bIIEAQ9iYr@njqLw3T

এবং foodec.sh:

#!/bin/sh
openssl enc -bf -nopad -d -pass pass:1KjeHD8d6YUI80bIIEAQ9iYr@njqLw3T

নোট করুন যে এই স্ক্রিপ্টগুলি সংগ্রহস্থলের বাইরে রাখা উচিত এবং যেগুলি কী রয়েছে সেগুলি এগুলি গোপন রাখা উচিত ! অন্যথায় তারা সুবিধাজনক কারণ তারা যতবার ডাকে ততবার পাসফ্রেজ জিজ্ঞাসা করে না।

আরও কিছুটা নিরাপদ বিকল্প হতে পারে জিপিজি ব্যবহার করা।

ইন .git/configআপনার সংগ্রহস্থলের মধ্যে আপনি যে ফাইলটি এই ফিল্টার উল্লেখ করা উচিত;

[filter "crypt"]
    clean = fooenc.sh
    smudge = foodec.sh

এই না একটি টাইপো! উপরের ডকুমেন্টেশন সংক্ষেপে দেখুন। এই সেটআপটি চেকিনে ডেটা এনক্রিপ্ট করে এবং চেকআউটে ডিক্রিপট করে।

তারপরে সংগ্রহস্থলের .git/info/attributesফাইলটিতে আপনি সমস্ত ফাইলের জন্য এই ফিল্টারটি ব্যবহার করার জন্য নির্দিষ্ট করেছেন;

* filter=crypt

ফিল্টারিং স্ক্রিপ্টগুলি যতক্ষণ না উপলব্ধ থাকে ততক্ষণ ওয়ার্কিং ডিরেক্টরিতে পঠনযোগ্য ফাইল থাকবে। তবে গিট বস্তু এনক্রিপ্ট করা হবে।

দ্রষ্টব্য যে এটি আসলে কোনও স্ক্র্যাপ নেই এমন কোনও মেশিনে ফাইলগুলি ব্যবহার করা বন্ধ করে দেয়। সুতরাং বিটবাকেট কেবল স্টোরেজ হিসাবে কাজ করবে।

এখন ডাউনসাইডের জন্য; এই সমাধানটি এমন সরঞ্জামগুলিও তৈরি git diffকরে যা সবকিছু অযথা উপর নির্ভর করে যেহেতু গিটের অবজেক্টগুলি এখন এনক্রিপ্ট করা ব্লব।

সম্পাদনা করুন: গেট -ক্রিপ্ট বা গিট-এনক্রিপ্টের মতো ইউটিউবিলিটিগুলি আপনার রেপোর সামগ্রীগুলি এনক্রিপ্ট করার ক্ষেত্রে আপনাকে সহায়তা করতে পারে।

এবং বিভিন্ন সমস্যার সমাধান আছে; ডিফস জন্য একটি বিশেষ ফিল্টার ব্যবহার; অতিরিক্ত স্ক্রিপ্ট সহ টেক্সটকনভ ব্যবহার করে ব্লবগুলি পৃথক -এড করার আগে ডিক্রিপ্ট করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.