কীভাবে এসএসএইচ লগইনগুলির জন্য দ্বি-ফ্যাক্টর প্রমাণীকরণ (গুগল প্রমাণীকরণকারী) সেটআপ করবেন


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

গুগল প্রমাণীকরণকারী একটি ওপেন-সোর্স মডিউল যা Google দ্বারা বিকাশিত এককালীন পাসকোডস (টিওটিপি) যাচাইকরণ টোকেনের বাস্তবায়ন অন্তর্ভুক্ত করে। এটি বেশ কয়েকটি মোবাইল প্ল্যাটফর্মের পাশাপাশি প্যাম (প্লাগেবল প্রমাণীকরণ মডিউল) সমর্থন করে। এই ওয়ানটাইম পাসকোডগুলি ওপেন অথেনটিকেশনের জন্য ওএটিএইচ উদ্যোগ দ্বারা তৈরি ওপেন স্ট্যান্ডার্ড ব্যবহার করে তৈরি করা হয়েছে।

এই নিবন্ধে আমি আপনাকে রেড হ্যাট, সেন্টোস, ফেডোরা এবং উবুন্টু, লিনাক্স মিন্ট এবং ডেবিয়ান এর অধীনে দ্বি-গুণক প্রমাণীকরণের জন্য এসএসএইচ সেটআপ এবং কনফিগার করার পদ্ধতি দেখাব show

গুগল প্রমাণীকরণকারী মডিউল ইনস্টল করা

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

রেড হ্যাট, সেন্টোস এবং ফেডোরা সিস্টেমে ‘প্যাম-ডেভেল’ প্যাকেজ ইনস্টল করা হয়।

# yum install pam-devel make automake libtool gcc-c++ wget

উবুন্টুতে, লিনাক্স মিন্ট এবং ডেবিয়ান সিস্টেমগুলি "libpam0g-dev" প্যাকেজ ইনস্টল করে।

# apt-get install libpam0g-dev make automake libtool gcc-c++ wget

এখন নিম্নলিখিত গিট কমান্ডটি ব্যবহার করে হোম ডিরেক্টরি অধীন গুগল অনুমোদনকারী মডিউলটি ক্লোন করুন এবং ইনস্টল করুন (ধরে নিন যে আপনি ইতিমধ্যে মূলের হোম ডিরেক্টরিতে লগ ইন করেছেন)।

# git clone https://github.com/google/google-authenticator-libpam.git
# cd google-authenticator-libpam/
# ./bootstrap.sh
# ./configure
# make
# make install
# google-authenticator

আপনি একবার ‘গুগল-প্রমাণীকরণকারী’ কমান্ডটি চালনা করলে, এটি আপনাকে একটি গুরুতর প্রশ্নের সাথে জিজ্ঞাসা করবে। বেশিরভাগ পরিস্থিতিতে উত্তর হিসাবে কেবল "y" (হ্যাঁ) টাইপ করুন। কিছু ভুল হয়ে গেলে সেটিংসটি পুনরায় সেট করতে আপনি আবার ‘গুগল-প্রমাণীকরণকারী’ কমান্ডটি টাইপ করতে পারেন।

  1. আপনি কি প্রমাণীকরণ টোকেনগুলি সময় ভিত্তিক (y/n) y হতে চান

এই প্রশ্নের পরে, আপনি আপনার ‘গোপন কী’ এবং ‘জরুরি কোডগুলি’ পাবেন get এই বিবরণটি কোথাও লিখুন, গুগল প্রমাণীকরণকারী অ্যাপ সেটআপ করার জন্য আমাদের পরে "গোপন কী" প্রয়োজন।

 google-authenticator

Do you want authentication tokens to be time-based (y/n) y
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/[email %3Fsecret%3DXEKITDTYCBA2TLPL
Your new secret key is: XEKITDTYCBA2TLPL
Your verification code is 461618
Your emergency scratch codes are:
  65083399
  10733609
  47588351
  71111643
  92017550

এরপরে, সেটআপ উইজার্ডটি অনুসরণ করুন এবং বেশিরভাগ ক্ষেত্রে নীচে দেখানো হিসাবে "y" (হ্যাঁ) হিসাবে উত্তর টাইপ করুন।

Do you want me to update your "/root/.google_authenticator" file (y/n) y

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) y

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

গুগল প্রমাণীকরণকারী মডিউল ব্যবহার করতে এসএসএইচ কনফিগার করা

পিএএম কনফিগারেশন ফাইল ‘/etc/pam.d/sshd’ খুলুন এবং নীচের লাইনটি ফাইলের শীর্ষে যুক্ত করুন।

auth       required     pam_google_authenticator.so

এরপরে, এসএসএইচ কনফিগারেশন ফাইল ‘/ etc/ssh/sshd_config’ খুলুন এবং যে লাইনটি বলছে তা সন্ধান করতে নীচে স্ক্রোল করুন।

ChallengeResponseAuthentication no

এটিকে "হ্যাঁ" এ পরিবর্তন করুন। সুতরাং, এটি এই মত হয়ে যায়।

ChallengeResponseAuthentication yes

শেষ পর্যন্ত নতুন পরিবর্তনগুলি নিতে এসএসএইচ পরিষেবাটি পুনরায় চালু করুন।

# /etc/init.d/sshd restart

গুগল প্রমাণীকরণকারী অ্যাপ্লিকেশন কনফিগার করা

আপনার স্মার্টফোনে গুগল প্রমাণীকরণকারী অ্যাপ্লিকেশন চালু করুন। মেনু টিপুন এবং "একটি অ্যাকাউন্ট সেটআপ করুন" নির্বাচন করুন। আপনার কাছে এই অ্যাপটি না থাকলে আপনি আপনার অ্যান্ড্রয়েড/আইফোন/ব্ল্যাকবেরি ডিভাইসে গুগল প্রমাণীকরণকারী অ্যাপটি ডাউনলোড এবং ইনস্টল করতে পারেন।

"প্রদত্ত কী সরবরাহ করুন" টিপুন।

আপনার অ্যাকাউন্ট ‘নাম’ যুক্ত করুন এবং পূর্বে উত্পন্ন ‘গোপন কী’ প্রবেশ করুন।

এটি এক সময়ের পাসওয়ার্ড (যাচাই কোড) উত্পন্ন করবে যা আপনার ফোনে প্রতি 30 সেকেন্ডে নিয়মিত পরিবর্তন করে চলেছে।

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

login as: tecmint
Access denied
Using keyboard-interactive authentication.
Verification code:
Using keyboard-interactive authentication.
Password:
Last login: Tue Apr 23 13:58:29 2013 from 172.16.25.125

আপনার যদি স্মার্টফোন না থাকে, আপনি দ্বি-গুণক প্রমাণীকরণ করতে ফায়ারফক্স অ্যাড-অন GAuth প্রমাণীকরণকারীও ব্যবহার করতে পারেন।

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