বুট করার সময় কেউ কীভাবে একটি সম্পূর্ণ এনক্রিপ্টড উবুন্টু ১১.১০ সিস্টেমটি এসএসএইচের মাধ্যমে আনলক করতে পারে?


8

উবুন্টুর পূর্ববর্তী সংস্করণ এবং ডেবিয়ানের বর্তমান সংস্করণগুলিতে আপনি এসএসএইচ-র বুট সময় একটি সম্পূর্ণ এনক্রিপ্ট করা সিস্টেম (ডিএমক্রিপ্ট এবং LUKS ব্যবহার করে) আনলক করতে পারেন।

এটি এতটা সহজ ছিল:

  1. উবুন্টু বিকল্প ইনস্টলার ডিস্ক বা সাধারণ ডেবিয়ান ইনস্টলার ডিস্ক ব্যবহার করে এনক্রিপ্ট করা সিস্টেম ইনস্টল করা এবং সিস্টেমটি এনক্রিপ্ট করা চয়ন করা।
  2. সিস্টেমটি ইনস্টল হওয়ার পরে, ড্রপবার এবং ব্যস্তবক্স প্যাকেজ যুক্ত করুন।
  3. আপনার ssh কী অনুমোদনের জন্য initram-fs আপডেট করা হচ্ছে।

বুট করার সময়, আপনি কেবল মেশিনে ছিটকে এসেছিলেন:

echo -ne "keyphrase" > /lib/cryptsetup/passfifo

মেশিনটি তখন এনক্রিপ্ট হওয়া সিস্টেমটিকে আনলক করে বুট করবে।

উবুন্টু ১১.১০-তে ঠিক একই ধাপগুলি ব্যবহার করে, আমি মেশিনে ছড়িয়ে দিতে পারি, কিন্তু /lib/cryptsetup/passfifoএটি বিদ্যমান নেই।

Ssh এর মাধ্যমে সিস্টেম আনলক করার কোনও উপায় নেই বলে মনে হয়। এই কার্যকারিতা পরিবর্তন হয়েছে বা এটি সরিয়ে ফেলা হয়েছে কিনা তা দেখার জন্য আমি নিশ্চিত নই।


পুরানো উপায়ে কাজ করে এমন একটি সিস্টেমে আপনি কি পারবেন dpkg -S /lib/cryptsetup/passfifo? এই ফাইলটি অন্তর্ভুক্ত নাটি বা মাভেরিকের জন্য আমি প্যাকেজ.বুন্টু.কম এ প্যাকেজগুলি পাই না।
ম্যাকো

উত্তর:


4

সবেমাত্র কিছু গুগলিং করা হয়েছে এবং এটি প্লাইমাউথের পথে চলে আসে। প্লাইমাউথ যদি বুটে থাকে তবে ক্রিপ্টসেটআপ পাসওয়ার্ডের জন্য প্লাইমাউথকে জিজ্ঞাসা করবে এবং এর অর্থ এটি পাসফাইফো ব্যবহার করছে না।

সেরা কার্যসংক্রান্ত ডিরেক্টরির মধ্যে নিম্নলিখিত স্ক্রিপ্ট নির্বাণ করছে বলে মনে হচ্ছে /usr/share/initramfs-tools/hooks/পরে আপনি এটা আছে আপনি যা করতে পারেন রেখেছি chmod +xএবং তারপর আপনি আছে update-initramfs -u। তারপরে আপনার unlockকমান্ডটি ব্যবহার করতে সক্ষম হওয়া উচিত (যা নীচের স্ক্রিপ্ট দ্বারা তৈরি করা হয়েছে)।

এটি আপনার সাথে লগ ইন করার জন্য একটি ssh কী ব্যবহার করে। আপনি যদি একটি পাসওয়ার্ড ব্যবহার করতে চান তবে আপনাকে SSHUSERPASS=<username>প্রবেশ করা দরকার/etc/initramfs-tools/initramfs.conf

#!/bin/sh

PREREQ="dropbear"

prereqs() {
    echo "$PREREQ"
}

case "$1" in
    prereqs)
        prereqs
        exit 0
    ;;
esac

. "${CONFDIR}/initramfs.conf"
. /usr/share/initramfs-tools/hook-functions

if [ "${DROPBEAR}" != "n" ] && [ -r "/etc/crypttab" ] ; then
    cat > "${DESTDIR}/bin/unlock" <<-EOF
        #!/bin/sh
        if PATH=/lib/unlock:/bin:/sbin /scripts/local-top/cryptroot
        then
            /sbin/pkill cryptroot
            /sbin/pkill -f "plymouth ask-for-pass"
            /sbin/pkill cryptsetup
            exit 0
        fi
        exit 1
    EOF
    chmod 755 "${DESTDIR}/bin/unlock"

    mkdir -p "${DESTDIR}/lib/unlock"
    cat > "${DESTDIR}/lib/unlock/plymouth" <<-EOF
        #!/bin/sh
        [ "\$1" == "--ping" ] && exit 1
        /bin/plymouth "\$@"
    EOF
    chmod 755 "${DESTDIR}/lib/unlock/plymouth"

    # Enable password login
    if [ -n "$SSHUSERPASS" ]
    then
        sed -n "s/^${SSHUSERPASS}:/root:/p" /etc/shadow > "${DESTDIR}/etc/shadow"
        chmod 640 "${DESTDIR}/etc/shadow"
    fi
fi

আপনি আরো পড়তে পারেন ubuntuforums এই পোস্টটি , এই launchpad বাগ এবং জার্মান পোস্টে আমি থেকে এই অধিকাংশ nicked


1

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

plymouth --quit; echo -ne "keyphrase" > /lib/cryptsetup/passfifo

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