মাউন্ট: এনক্রিপ্ট হওয়া পুনরুদ্ধার সহ এমন কোনও ফাইল বা ডিরেক্টরি নেই


12

আমি আমার মিন্ট লিনাক্স ইনস্টলেশনটি ধ্বংস করে দিয়েছি। আমি কেবল আমার দূরবর্তী স্টোরফ্রন্টে অ্যাক্সেস চেয়েছিলাম। তাই যা ঘটেছিল তা ছিল আমার হোম ডিরেক্টরিতে আইসিইওআরটিটি ফাইল নিয়ে সমস্যা হচ্ছিল। তাই ইন্টারনেটে বিভিন্ন দিকনির্দেশ অনুসরণ করে আমি এই সিদ্ধান্তে পৌঁছেছি যে সেই ফাইলটি কাজ করার অনুমতি দেওয়ার জন্য আমি হোম ডিরেক্টরিটি পুনরাবৃত্তভাবে chmod 755 এ সেট করতে পারতাম ... অবশেষে আমি সিস্টেম লোডিংয়ের সাথে সমস্যায় পড়েছি। মূলত হোম ডিরেক্টরিটি মূলের জন্য নির্বাহযোগ্য অনুমতিতে সেট করার মাধ্যমে আমি পড়ার / লেখার অ্যাক্সেস পেতে সক্ষম হয়েছি ... তবে আমি আমার মেশিনটি পুনরায় সেট করেছি ওহ কেন আমি কেন আমার মেশিনটিকে পুনরায় সেট করেছি !!! - এখন সিস্টেমটি আমাকে আইসিইওর অনুমোদনের সাথে একই ত্রুটি ছুড়ে ফেলে তবে ডিস্কটি এনক্রিপ্ট করা হওয়ায় এটি কখনই আমাকে ওএসের সাথে উঠতে পারে না। আমি যা চেষ্টা করেছি কিছুই কাজ করছে বলে মনে হচ্ছে না এবং আমার কাছে আসল মাউন্ট বীজ নেই।

frankenmint@honeybadger /home $ sudo ecryptfs-recover-private
INFO: Searching for encrypted private directories (this might take a while)...
INFO: Found [/home/.ecryptfs/frankenmint/.Private].
Try to recover this directory? [Y/n]: y
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] y
INFO: Enter your LOGIN passphrase...
Passphrase: 
Inserted auth tok with sig [979c6cdf80d2e44d] into the user session keyring
mount: No such file or directory
ERROR: Failed to mount private data at [/tmp/ecryptfs.Hy3BV96c].

আমি সত্যিই চিন্তিত কারণ আমার সেখানে সেখানে গুরুত্বপূর্ণ ফাইলগুলি ছিল যা ভার্চুয়াল মেশিনে সঞ্চিত ছিল ... যদি আমি কেবল এই ফাইলগুলিতে যেতে পারতাম তবে আমার সেটআপটি নষ্ট করার এবং আরম্ভ করার কোনও কোয়ালিটি থাকবে না would

উত্তর:


13

আমি দেখতে পেয়েছি যে চলমান sudo bashএবং তারপরে ecryptfs-recover-privateরুট হিসাবে চালানো (সুডোর মাধ্যমে নয়) কাজ করেছে। কেন এটি আলাদা হতে হবে তা নিশ্চিত নয় Not

সম্পাদনা:

টি এল; ডিআর:

# ecryptfs-unwrap-passphrase /mnt/crypt/.ecryptfs/user/.ecryptfs/wrapped-passphrase - | ecryptfs-add-passphrase --fnek -
    < Type your login password here >
Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring

আপনি কোনও প্রম্পট দেখতে পাবেন না এবং আপনার লগইন পাসওয়ার্ডটি অন্ধ করে উপরের কমান্ডটিতে টাইপ করতে হবে।

উপরের আউটপুট থেকে বন্ধনীগুলির মধ্যে হেক্স স্বাক্ষরের সাথে নীচে aaaaaaaaaaaaaaaaএবং bbbbbbbbbbbbbbbbনীচেরটি প্রতিস্থাপন করুন :

# mount -i -t ecryptfs -o ecryptfs_sig=aaaaaaaaaaaaaaaa,ecryptfs_fnek_sig=bbbbbbbbbbbbbbbb,ecryptfs_cipher=aes,ecryptfs_key_bytes=16 /mnt/crypt/.ecryptfs/user/.Private /mnt/plain

preliminaries

রুটটি আমার পক্ষে নির্ভরযোগ্যভাবে কাজ করে না বলে এটি চলমান; কখনও কখনও এটি করেছিল, কখনও কখনও তা করেনি। মূলত, ইক্য্রিপ্টফগুলি বগি এবং বেশ ব্যবহারকারী-বন্ধুত্বপূর্ণ বলে মনে হয়, প্রায়শই লগইন পাসওয়ার্ড এবং মাউন্ট পাসফ্রেজ গুলিয়ে দেয়। একটি গভীর, অন্ধকার খরগোশের গর্তে নেমে যাওয়ার পরে, আমার কাছে কিছু টিপস রয়েছে যা সহায়তা করা উচিত। এই নোটগুলি উবুন্টু 17.10, ইক্য্রিপ্টস-ইউস 111-0 এর জন্য এবং আপনার শুরু করার আগে রুট হওয়া উচিত। আমি ধরে নিই যে আপনি নিজের হোম ডিরেক্টরিটি /mnt/crypt(যা ইতিমধ্যে মাউন্ট করা উচিত) থেকে মাউন্ট /mnt/plainকরতে চান এবং আপনার userব্যবহারকারীর নামটি দিয়ে প্রতিস্থাপন করা উচিত ।

সহজ শুরু করুন

চেষ্টা করার প্রথম জিনিসটি হ'ল:

# ecryptfs-recover-private /mnt/crypt/.ecryptfs/user/.Private

যদি এটি কাজ করে, ভাল, আপনি ভাগ্যবান। যদি তা না হয় তবে এটি mountপ্রায় একটি ত্রুটি বার্তা দিতে পারে no such file or directory। এটি অত্যন্ত বিভ্রান্তিকর: এর আসল অর্থটি হল আপনার মাউন্ট পাসফ্রেজটি ভুল বা অনুপস্থিত।

স্বাক্ষর পান

এখানে গুরুত্বপূর্ণ অংশটি রয়েছে: আমাদের এ্যাক্রিপ্টস যাচাই করতে হবে সত্যই সঠিক মাউন্ট পাসফ্রেজ চেষ্টা করছে। ইক্য্রিপ্টফগুলি আপনার ফাইল সিস্টেমটি মাউন্ট করার আগে পাসফ্রেজগুলি অবশ্যই লিনাক্স কার্নেলে লোড করতে হবে। ecryptfs তাদের স্বাক্ষর দ্বারা তাদের জন্য কার্নেল জিজ্ঞাসা করে। স্বাক্ষরটি একটি 16-বাইট হেক্স মান (এবং ক্রিপ্টোগ্রাফিকভাবে সংবেদনশীল নয়)। আপনি পাসফ্রেজের স্বাক্ষরগুলি আবিষ্কার করতে পারেন ইক্য্রিপ্টফগুলি আশা করছে:

# cat /mnt/crypt/.ecryptfs/user/.ecryptfs/Private.sig
aaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbb

এগুলি মনে রাখবেন। লক্ষ্যটি হ'ল কার্নেলের মধ্যে লোড হওয়া এই স্বাক্ষরগুলির সাথে পাসফ্রেজগুলি পাওয়া এবং তারপরে এ্যাক্রিপ্টফগুলি তাদের ব্যবহার করতে বলুন। প্রথম স্বাক্ষর ( aaaaaaaaaaaaaaaa) হ'ল ডেটা এবং দ্বিতীয়টি ( bbbbbbbbbbbbbbbb) ফাইলনেম এনক্রিপশন কী (এফএনইকে)।

মাউন্ট পাসফ্রেজ পান

এই আদেশটি আপনাকে লগইন পাসওয়ার্ড (একটি বিভ্রান্তিকর প্রম্পট সহ) জিজ্ঞাসা করবে এবং আপনার মাউন্ট পাসফ্রেজ আউটপুট জিজ্ঞাসা করবে :

# ecryptfs-unwrap-passphrase /mnt/crypt/.ecryptfs/user/.ecryptfs/wrapped-passphrase

এটি অনুলিপি করুন কিন্তু সাবধান !! কারণ এটি অত্যন্ত ক্রিপ্টোগ্রাফিক সংবেদনশীল, রাজ্যের চাবি।

একটি ইন্টারেক্টিভ মাউন্ট চেষ্টা করুন

পরেরটি চেষ্টা করে দেখুন:

# mount -t ecryptfs /mnt/crypt/.ecryptfs/user/.Private /mnt/plain

এখানে গুরুত্বপূর্ণ বিষয়টি হ'ল mountআপনার (অতি সংবেদনশীল) মাউন্ট পাসফ্রেজের দরকার যা আমরা স্রেফ অনুলিপি করেছি (আপনার লগইন পাসওয়ার্ড নয়)।

এটি আপনাকে কিছু প্রশ্ন জিজ্ঞাসা করবে এবং আপনি হ্যাঁ বলার ব্যতীত খেলাপি গ্রহণ করতে পারবেন Enable filename encryption। এটি আপনাকে একটি সতর্কতা দিতে পারে এবং স্বাক্ষরগুলি ক্যাশে করতে বলতে পারে; আপনি উভয়কেই হ্যাঁ বলতে পারেন, তবে সঠিক মাউন্ট পাসফ্রেজ পেয়েছেন তা ডাবল-পরীক্ষা করে দেখুন।

আপনি যে বিকল্পগুলির mountজন্য চেষ্টা করার সিদ্ধান্ত নিয়েছেন তা আপনি দেখতে পাবেন:

Attempting to mount with the following options:
  ecryptfs_unlink_sigs
  ecryptfs_fnek_sig=bbbbbbbbbbbbbbbb
  ecryptfs_key_bytes=16
  ecryptfs_cipher=aes
  ecryptfs_sig=aaaaaaaaaaaaaaaa
Mounted eCryptfs

স্বাক্ষরগুলি যদি ভুল হয় (আপনি যা পেয়েছেন তার সাথে মেলে না Private.sig), মাউন্টটি কাজ করবে না।

... তবে এটি খুব অপ্রয়োজনীয়ভাবে রিপোর্ট করবে যে এটি করেছে। আপনাকে ls /mnt/plainনিশ্চিত করতে একটি ফাইল ক্যাট করতে হবে cat এই মুহুর্তে আপনি এটিকে দেখতে /var/log/syslogএবং যাচাই করতে পারেন যে ইক্য্রিপ্টফগুলি আমরা একই স্বাক্ষরগুলির সন্ধান করছে।

এ্যাক্রিপ্টস নিয়ে এখানে দুটি স্পষ্টতই দু'টি গুরুতর সমস্যা রয়েছে এবং সেগুলি সম্পর্কে আমাদের কাজ করতে হবে।

কার্নেলের মধ্যে কীগুলি লোড করুন

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

# ecryptfs-add-passphrase --fnek

এবং উপরের থেকে অনুলিপি করা আপনার (অতি সংবেদনশীল) মাউন্ট পাসফ্রেজে পেস্ট করুন । এটি আউটপুট করা উচিত:

Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring

ম্যানুয়ালি মাউন্ট

এখন পাসফ্রেসগুলি কার্নেলের মধ্যে লোড হয়ে গেছে এবং এগুলি ব্যবহারের জন্য আমাদের কেবল মাউন্টটি বলতে হবে:

# umount /mnt/plain
# mount -i -t ecryptfs -o ecryptfs_sig=aaaaaaaaaaaaaaaa,ecryptfs_fnek_sig=bbbbbbbbbbbbbbbb,ecryptfs_cipher=aes,ecryptfs_key_bytes=16 /mnt/crypt/.ecryptfs/user/.Private /mnt/plain

আপনি দেখতে পাচ্ছেন যে বিকল্পগুলি ইন্টারেক্টিভ মাউন্টটি কীভাবে মুদ্রিত হয়েছে তার সমান, আমরা ম্যানুয়ালি ইক্রিটিফসকে কী বলছি তা বাদ দিয়ে।

আশা করি এটি কাজ করে। যদি তা না হয় তবে আপনি keyctl list @uযা যা সঠিকভাবে স্বাক্ষরগুলি ব্যবহার করে কার্নেলের মধ্যে কীগুলি লোড করা হয়েছে তা যাচাই করতে পারেন , যা আপনার প্রত্যাশা করছেন কমপক্ষে দুটি স্বাক্ষর মুদ্রণ করা উচিত।


4
ecryptfs-recover-privateএকটি মাউন্ট (2) ত্রুটি আউটপুট যখন একটি workaround আছে । চালানোর চেষ্টা করুন sudo ecryptfs-manager, 4 টিপুন (প্রস্থান করুন), তারপরে আবার আসলটি চালান ecryptfs-recover-private। এখনই কাজ করা উচিত
উলকাস

1
@ulkas কোন ধারণা কেন এটি কাজ করে?
টারিয়ন

2
@ টিউরিয়ন আমি সমাধানটি গুগল করেছিলাম, সুতরাং আমি আবিষ্কারক নই। আমার ecryptfsধারণাটি এখানে কিছু সংস্করণ থেকে একটি বাগ রয়েছে এবং ম্যানেজারকে কল করে কিছু ভেরিয়েবল সেট করে যা পরে মাউন্ট দ্বারা পুনরায় ব্যবহার করা হয় any কোনও ধারণা কীভাবে এটি স্বয়ংক্রিয় করতে হবে যাতে আমি প্রতিটি ফায়ার পরে আমার ফোল্ডারগুলি মাউন্ট করতে পারি?
উলকাস

1
keyctl link @u @sআমার জন্য খুব সহজ সমাধান ছিল। ক্রেডিটগুলি এখানে যান: bugs.debian.org/cgi-bin/bugreport.cgi?bug=870126
সাপোর্ট করুন

যদিও আমার সমস্যাটি সম্ভবত মূল পোস্টার থেকে আলাদা ছিল।
চুমুক দিয়া পান

1

ভবিষ্যতের এই প্রশ্নোত্তর দর্শকদের কাছে: একই অন্তর্নিহিত লক্ষণ বিভিন্ন অন্তর্নিহিত কারণে হতে পারে। লক্ষণটি দেখতে যেমন:

INFO: Found [/home/.ecryptfs/frankenmint/.Private].
Try to recover this directory? [Y/n]: y
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] y
INFO: Enter your LOGIN passphrase...
Passphrase: 
Inserted auth tok with sig [979c6cdf80d2e44d] into the user session keyring
mount: No such file or directory
ERROR: Failed to mount private data at [/tmp/ecryptfs.Hy3BV96c].

আমার ক্ষেত্রে, এই উত্তরটি সমাধানের মূল চাবিকাঠি। সমস্যাটি হ'ল আমি টিএমাক্স সেশনে এসএসএইচের মাধ্যমে দূরবর্তীভাবে সবকিছু করার চেষ্টা করছিলাম, যা নিম্নলিখিত লাইনে সীমাবদ্ধ ছিল /etc/pam.d/sshd:

session    optional     pam_keyinit.so force revoke

পূর্বোক্ত উত্তরটি সেই লাইনের বাইরে মন্তব্য করতে এবং নতুন অধিবেশনে আবার চেষ্টা করার পরামর্শ দেয়।

আমার ক্ষেত্রে যে সাধারণ কাজটি কাজ করেছিল তা হ'ল স্থানে এটি করা, এসএসএইচ এবং টিমাক্স পুরোপুরি এড়ানো। দূরবর্তীভাবে সীমাহীন টার্মিনালে অ্যাক্সেস পাওয়ার জন্য আরও জটিল কাজ (যা আমি যাচাই করি নি) কনসপির মতো কিছু ব্যবহার করা ।

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