initramfs এ ssh লগইনের মাধ্যমে রুটফগুলি আনলক করা
ইনিশ্রাম চালিত অবস্থায় চালিত অবস্থায় বুটিং সিস্টেমে লগ ইন করতে ssh ব্যবহার করে আপনি দূরবর্তী থেকে বুটআপে আপনার রুটফগুলি আনলক করতে পারেন।
সেটআপ
রিমোট আনলকিংয়ের কাজ করতে, initramfs তৈরির আগে নিম্নলিখিত প্যাকেজগুলি ইনস্টল করতে হবে: dropbear
busybox
ফাইলটি /etc/initramfs-tools/initramfs.conf
initramfs তৈরি করার সময় ব্যবহৃত কনফিগারেশন বিকল্পগুলি ধারণ করে। এটা তোলে থাকা উচিত BUSYBOX=y
initramfs -র মধ্যে ইনস্টল, busybox আছে (এই ডিফল্ট হিসাবে যখন, busybox প্যাকেজ ইনস্টল করা সেট করা হয়), এবং থাকা উচিত নয়
DROPBEAR=n
, যা initramfs -র কাছে dropbear ইনস্টলেশনের নিস্ক্রিয় করবে। যদি সেট DROPBEAR=y
করা থাকে তবে যে কোনও ক্ষেত্রে ড্রপবার ইনস্টল করা হবে; যদি
DROPBEAR
একেবারেই সেট না করা থাকে, তবে ড্রপবায়ারটি কেবল বিদ্যমান ক্রিপট্রূট সেটআপের ক্ষেত্রে ইনস্টল করা হবে।
Initramfs এর জন্য ব্যবহৃত হোস্ট কীগুলি হ'ল dropbear_dss_host_key
এবং
dropbear_rsa_host_key
উভয়ই এতে অবস্থিত /etc/initramfs-tools/etc/dropbear/
। Initramfs সংকলন করার সময় যদি সেগুলি উপস্থিত না থাকে তবে সেগুলি স্বয়ংক্রিয়ভাবে তৈরি হবে। এগুলি ম্যানুয়ালি তৈরির আদেশগুলি নীচে দেওয়া হয়েছে:
dropbearkey -t dss -f /etc/initramfs-tools/etc/dropbear/dropbear_dss_host_key
dropbearkey -t rsa -f /etc/initramfs-tools/etc/dropbear/dropbear_rsa_host_key
যেমন initramfs এনক্রিপ্ট করা হবে না, পাবলিককি প্রমাণীকরণ অনুমান করা হয়। এর জন্য ব্যবহৃত কী (গুলি) নেওয়া হবে
/etc/initramfs-tools/root/.ssh/authorized_keys
। এই ফাইলটি যদি ইনস্ট্র্যামগুলি সংকলিত করার সময় উপস্থিত না থাকে তবে এটি তৈরি /etc/initramfs-tools/root/.ssh/id_rsa.pub
হবে এবং এতে
যুক্ত হবে। যদি পরবর্তী ফাইলটি অস্তিত্ব না থাকে তবে তা স্বয়ংক্রিয়ভাবে উত্পন্ন হবে - আপনি মিলে যাওয়া ব্যক্তিগত কীটি পাবেন যা আপনাকে পরে ইন্ট্রামফগুলিতে লগ ইন করতে হবে /etc/initramfs-tools/root/.ssh/id_rsa
(অথবা id_rsa.dropbear
যদি আপনাকে ড্রপবার ফর্ম্যাটে এটি প্রয়োজন হয়)। ম্যানুয়ালি সংশ্লিষ্ট পদক্ষেপগুলি করার জন্য নিম্নলিখিত আদেশগুলি দেওয়া হল:
একটি কী (ড্রপবার ফর্ম্যাটে) তৈরি করতে:
dropbearkey -t rsa -f /etc/initramfs-tools/root/.ssh/id_rsa.dropbear
ড্রপবিয়ার ফর্ম্যাট থেকে কীটিকে ওপেনশ ফরমেটে রূপান্তর করতে:
/usr/lib/dropbear/dropbearconvert dropbear openssh \
/etc/initramfs-tools/root/.ssh/id_rsa.dropbear \
/etc/initramfs-tools/root/.ssh/id_rsa
সর্বজনীন কীটি বের করতে:
dropbearkey -y -f /etc/initramfs-tools/root/.ssh/id_rsa.dropbear | \
grep "^ssh-rsa " > /etc/initramfs-tools/root/.ssh/id_rsa.pub
অনুমোদিত_কিজ ফাইলগুলিতে সর্বজনীন কী যুক্ত করতে:
cat /etc/initramfs-tools/root/.ssh/id_rsa.pub >> /etc/initramfs-tools/root/.ssh/authorized_keys
যদি আপনি কিছু ইন্টারফেস DHCP ব্যবহার কনফিগার করতে, সেটিং চান
DEVICE=
মধ্যে /etc/initramfs-tools/initramfs.conf
যথেষ্ট হওয়া উচিত। Initramfs ip=
কার্নেল পরামিতি সম্মান করা উচিত । যদি আপনি গ্রাব ব্যবহার করেন তবে আপনি সম্ভবত এটি সেট করতে চান /boot/grub/menu.lst
, হয় ' # kopt=
' লাইনে বা নির্দিষ্ট ' kernel
' লাইন (গুলি) এ যুক্ত হন। ip=
কার্নেল পরামিতি মধ্যে নথিভুক্ত করা Documentation/nfsroot.txt
কার্নেল সোর্স গাছে।
সমস্যা
update-initramfs
এটি কার্যকর করার জন্য আপনি যখন কনফিগারেশন পরিবর্তন করেছেন তখন চালাতে ভুলবেন না !
এসএসএস ডেমনটির জন্য পর্যাপ্ত এনট্রপি সংগ্রহ করা কখনও কখনও একটি সমস্যা হিসাবে দেখা দেয়। পর্যাপ্ত এনট্রপি পুনরুদ্ধার করা না হওয়া পর্যন্ত ssh ডিমনটির প্রারম্ভিকরণে বিলম্ব হতে পারে। এটি প্রারম্ভিক প্রক্রিয়াটির জন্য অবরুদ্ধকরণ নয়, সুতরাং আপনি যখন কনসোলে থাকবেন তখন আপনাকে sshd এর শুরুটি শেষ করার জন্য অপেক্ষা করতে হবে না।
আনলকিং পদ্ধতি
রিমোট থেকে আনলক করতে, আপনি এর মতো কিছু করতে পারেন:
ssh -o "UserKnownHostsFile=~/.ssh/known_hosts.initramfs" \
-i "~/id_rsa.initramfs" root@initramfshost.example.com \
"echo -ne \"secret\" >/lib/cryptsetup/passfifo"
এই উদাহরণটিতে অনুমান আপনি একটি অতিরিক্ত আছে known_hosts
ফাইল " ~/.ssh/known_hosts.initramfs
" যা cryptroot সিস্টেমের হোস্ট-কি ঝুলিতে, আপনি একটি ফাইল আছে যে, " ~/id_rsa.initramfs
" যা cryptroot সিস্টেমের জন্য অনুমোদিত কী ঝুলিতে, যে cryptroot সিস্টেমের নাম "হয় initramfshost.example.com
", এবং যে ক্রিপট্রুট পাসফ্রেজ হ'ল " secret
"
- < debian@x.ray.net
>, বুধ, 30 সেপ্টেম্বর 2009
zless /usr/share/doc/cryptsetup/README.remote.gz