Password Store হল একটি সহজ UNIX প্রোগ্রাম যা GNU Privacy Guard (GPG) এবং Git ব্যবহার করে আপনার Linux সিস্টেমের পাসওয়ার্ড সিকিউর ও ম্যানেজ করতে। এটি সহজ, লাইটওয়েট এবং দ্রুত। যাইহোক, এই সহজতাটি মানে Password Store-এর ডেটাবেস অ্যাক্সেস করে পাসওয়ার্ড ফেচ করা একটু কষ্টসাধ্য হতে পারে। যাইহোক, আপনি যদি Emacs ব্যবহার করেন, তবে এই প্রক্রিয়াটি আপনার জন্য স্বয়ংক্রিয়ভাবে করতে একটি উপায় আছে।
সেটার জন্য সাহায্য করার জন্য, password-store একটি Emacs প্যাকেজও যা Password Store প্রোগ্রামের একটি ফ্রন্ট এন্ড হিসেবে কাজ করে। তার ব্যাক এন্ডের মতো, password-store সহজ এবং লাইট। আরও গুরুত্বপূর্ণ, আপনি এর কমিউনিটির তৈরি অনেক প্লাগইন ব্যবহার করে এর ফিচার সহজেই এক্সটেন্ড করতে পারেন।
Password Store কীভাবে কাজ করে?
Password Store একটি অত্যন্ত সহজ পাসওয়ার্ড ম্যানেজার যা প্লেইন টেক্সটে পাসওয়ার্ড তৈরি ও মডিফাই করে। এটি শুধু আপনার দেওয়া প্রতিটি অ্যাকাউন্ট ও পাসওয়ার্ডের জন্য একটি টেক্সট ফাইল মেইন্টেইন করে।
এটি দেখতে ইনসিকিউর এবং প্রাচীন লাগতে পারে, কিন্তু Password Store এটিকে কাজের করে তোলে সকল ফাইল যা এটি মেইন্টেইন করে সেগুলো এনক্রিপ্ট করে। এটি আপনাকে প্লেইন টেক্সটের ফ্লেক্সিবিলিটি দিয়ে GPG-এর সিকিউরিটি ও এনক্রিপশনও দেয়।
যেহেতু প্রোগ্রামটি শুধু সহজ ফাইল নিয়ে কাজ করে, আপনি সেই ফাইলগুলো বিভিন্ন ফোল্ডার আন্ডার ক্যাটাগরাইজ ও সর্ট করতে পারেন।
Password Store আপনাকে আপনার পাসওয়ার্ড ফাইলগুলোর জন্য অতিরিক্ত ইনফরমেশন অ্যাপেন্ড করতে দেয়। এর কারণ হলো এটি শুধু ফাইলের প্রথম লাইন পাসওয়ার্ডের জন্য রিজার্ভড রাখে। উদাহরণস্বরূপ, এটি আমার একটি ফোরাম অ্যাকাউন্টের পাসওয়ার্ড ফাইল:
thisismysupersecretpassword ===============INFORMATION=============== Username: MySuperCoolName Security Question 1: Yogi Security Question 2: 1992 Toyota Corolla Security Question 3: Smith OTP Key: aabbccddff11223344 ========================================
Password Store প্রথম লাইনের পরের কোনো ইনফরমেশন পড়ে না। তাই আমি সহজে আমার ফোরাম অ্যাকাউন্ট সম্পর্কে যেকোনো অতিরিক্ত ইনফরমেশন যোগ করতে পারি। এর মাধ্যমে, প্রোগ্রামটি শুধু একটি কাস্টম পাসওয়ার্ড ডিরেক্টরি তৈরি করতে দেয় না, বরং আপনার পাসওয়ার্ডের জন্য কাস্টম ফরম্যাটও দেয়।
Password Store ইনস্টল করা
তার সহজতার কারণে, Password Store ইনস্টল করা সহজ। আরও, এটি প্রায় সব Linux ডিস্ট্রিবিউশনে উপলব্ধ। উদাহরণস্বরূপ, Debian এবং Ubuntu-তে apt দিয়ে ইনস্টল করা যায়:
sudo apt install pass gnupg
Fedora-তে dnf ব্যবহার করুন:
sudo dnf install pass gnupg2
Arch Linux-এ pacman ব্যবহার করুন:
sudo pacman -S pass gnupg
আপনার Password Store তৈরি করা
এই সাথে, একটি পাসওয়ার্ড স্টোর তৈরি করার জন্য আপনাকে দুটি কাজ করতে হবে:
- প্রথমে, আপনার একটি GPG কী থাকতে হবে। এটি সেই কী হবে যা আপনার Password Store-এর সাথে অ্যাসোসিয়েটেড হবে। আপনি এই স্টোরের জন্য একটি নতুন তৈরি করতে পারেন বা পুরনো একটি ব্যবহার করতে পারেন যা আপনার কাছে ইতিমধ্যে আছে।
- দ্বিতীয়, আপনাকে Password Store-টি ইনিশিয়ালাইজ করতে হবে। এটি হয় একটি সিম্পল পাসওয়ার্ড স্টোর যা GPG দিয়ে মেইন্টেইন করা হয় বা একটি ভার্সন কন্ট্রোলড স্টোর GPG এবং Git আন্ডার। যেন হোক, এই দুটি ভার্সন তৈরি করতে শুধু একটি কমান্ড রান করলেই হবে।
আপনার স্টোরের জন্য GPG কী তৈরি করা
Password Store তার সকল এনক্রিপশনের জন্য GPG-র উপর নির্ভরশীল। তাই, আপনার নিজস্ব GPG কী তৈরি করা জরুরি যাতে পাসওয়ার্ড স্টোর এবং সিকিউর এবং শুধু আপনার জন্য এনক্রিপ্টেড হয়।
- GPG কী তৈরি করা অত্যন্ত সহজ। এর জন্য আপনি নিচের কমান্ড রান করতে পারেন:
gpg --full-generate-key
- এটি একটি কী ক্রিয়েশন উইজার্ড চালাবে যেখানে আপনি আপনার GPG কীর জন্য অনেক অপশন বেছে নিতে পারেন।
- এখান থেকে, উইজার্ড আপনাকে জিজ্ঞেস করবে আপনি আপনার কীর জন্য কী ধরনের এনক্রিপশন অ্যালগরিদম ব্যবহার করতে চান। অধিকাংশ ক্ষেত্রে, ডিফল্ট RSA অ্যালগরিদমই পর্যাপ্ত। এটি সিলেক্ট করতে আপনি শুধু Enter চাপুন।
আপনার GPG কীর দৈর্ঘ্য এবং এক্সপায়ারি সেট করা
- সেখান থেকে, উইজার্ড আপনাকে জিজ্ঞেস করবে আপনি কী দৈর্ঘ্যের কী চান। এখানে, সাধারণ রুল হলো লম্বা কী ছোট কীর চেয়ে কঠিন হ্যাক করা। এই আর্টিকেলের জন্য আমি 4096 বেছে নিলাম আমার কী দৈর্ঘ্যের জন্য।
- একবার হলে, উইজার্ড জিজ্ঞেস করবে আপনি কি আপনার কী এক্সপায়ার করবেন বা না। সাধারণত, একটি নির্দিষ্ট তারিখের পরে এক্সপায়ার হওয়া কী ব্যবহার করা ভালো প্র্যাক্টিস বলে মনে করা হয়। এটি করার ফলে আপনি একটি কী অটোমেটিক্যালি রিভোক করতে পারবেন যা হয় কমপ্রোমাইজড হয়েছে বা আপনি পাসওয়ার্ড ভুলে গেছেন।
- আমার কেসে, আমি আমার কীগুলোর জন্য ছোট এক্সপায়ারেশন টাইম পছন্দ করি যাতে আমি সেগুলো ভুলে যাই না। তাই আমি এই অপশনটি "6m" সেট করলাম।
- পরবর্তী, আপনাকে একটি নাম এবং ইমেইল লিখতে হবে। এটি শুধু ডিসপ্লে ইনফরমেশন হিসেবে ব্যবহৃত হবে যখন আপনি ডেটা এনক্রিপ্ট বা ডিক্রিপ্ট করবেন।
- শেষে, আপনাকে এই কী অ্যাক্সেস করার জন্য একটি পাসওয়ার্ড দিতে হবে। সেটা হতে হবে দুর্দান্ত এবং মেমorable। কারণ আপনি এই পাসওয়ার্ডটি প্রতিবার ব্যবহার করবেন আপনার Password Store অ্যাক্সেস করার সময়। এতে বিদ্যমান পাসওয়ার্ড কপি করা এবং নতুন যোগ করা সব কিছু অন্তর্ভুক্ত।
আপনার স্টোর শুরু করা
এই সাথে, আপনাকে যা করতে হবে সেটা হলো আপনার Password Store শুরু করা। আপনি এটি দুটি উপায়ে করতে পারেন:
- আপনি ডিফল্ট GPG এনক্রিপশন সহ একটি সিম্পল Password Store শুরু করতে পারেন। এটি উপযোগী যদি আপনি শুধু আপনার পাসওয়ার্ড স্টোর ও অ্যাক্সেস করার একটি সহজ উপায় চান।
টার্মিনালে নিচের কমান্ড রান করুন:
cd /home/$USER/ && pass init "your-gpg-email"
এটি আপনার হোম ডিরেক্টরিতে ".password-store" নামে একটি পাসওয়ার্ড স্টোর তৈরি করবে।
- আপনি একটি Git-কন্ট্রোলড Password Store ও শুরু করতে পারেন। এটি আপনাকে আপনার স্টোরের ইতিহাস দক্ষতার সাথে কন্ট্রোল করতে দেবে। তাই, আপনি আপনার করা পরিবর্তনগুলোতে সহজে ফিরে যেতে পারবেন। এটি অত্যন্ত উপযোগী যদি আপনি دائماً আপনার অ্যাকাউন্টের পাসওয়ার্ড পরিবর্তন করেন।
আপনি যদি git-কন্ট্রোলড স্টোর চালাতে চান, তবে নিচের কমান্ড রান করুন:
pass git init
এইভাবে আপনার স্টোরের জন্য git রিপোজিটরি শুরু হবে। এখান থেকে, আপনি আপনার স্টোরের জন্য git-এর সকল কমান্ড অ্যাক্সেস করতে পারবেন "pass" প্রিপেন্ড করে git-এ। আপনার স্টোরের সকল git রিমোট দেখতে নিচের কমান্ড রান করুন:
pass git remote get-url --all
Emacs-কে Password Store-সাথে ইন্টিগ্রেট করা
আপনি যদি Emacs ইউজার হন, তবে Password Store-কে আপনার Emacs ক্লায়েন্টের সাথে ইন্টিগ্রেট করতে পারেন। MELPA রিপোজিটরি থেকে "password-store" প্যাকেজ ডাউনলোড করে শুরু করুন।
ডিফল্টভাবে, এই রিপোজিটরি স্ট্যান্ডার্ড Emacs ইনস্টলেশনের সাথে আসে না। তাই, আপনাকে এক্সপ্লিসিটলি এটি প্রথমে আপনার Emacs-এর কনফিগারেশনে যোগ করতে হবে।
- এটি করতে, আপনি নিচের কমান্ড আপনার "init.el" ফাইলে লিখতে পারেন:
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) (package-initialize)
- একবার হলে, আপনার Emacs ক্লায়েন্ট রিলোড করুন পরিবর্তনগুলো অ্যাপলাই করার জন্য।
- Alt + X চাপুন এবং package-install টাইপ করুন। এটি একটি কমান্ড বাফার লোড করবে যেখানে Emacs আপনাকে প্যাকেজের নাম জিজ্ঞেস করবে যা আপনি ইনস্টল করতে চান। password-store টাইপ করুন।
- Emacs তারপর password-store প্যাকেজের সোর্স কোড ফেচ, কম্পাইল ও ইনস্টল করবে। শেষে, এর কমান্ডগুলো অ্যাক্সেসযোগ্য হবে Alt + X চাপুন এবং password-store-version টাইপ করুন।
আপনার স্টোরে নতুন পাসওয়ার্ড যোগ করা
- এই সাথে, আপনার স্টোর অ্যাক্সেস করা сравните সহজ। উদাহরণস্বরূপ, আপনি একটি নতুন পাসওয়ার্ড যোগ করতে পারেন Alt + X চাপুন এবং password-store-insert টাইপ করে।
- এটি একটি প্রম্পট আনবে যেখানে প্যাকেজটি আপনাকে জিজ্ঞেস করবে পাসওয়ার্ডের নাম যা আপনি ইনসার্ট করতে চান।
- এখন পাসওয়ার্ডটি ইনপুট করুন। অন্যান্য পাসওয়ার্ড প্রম্পটের মতো, এখানে ইনপুট মাস্কড থাকবে।
আপনার স্টোর এন্ট্রি এডিট করা
Password Store-এর কী স্ট্রেন্থের একটি হলো আপনি আপনার পাসওয়ার্ড ফাইলগুলো কাস্টমাইজ করতে পারেন। এটাও আপনাকে একটি আর্বিট্রারি ফরম্যাট দিতে দেয় যাতে কমায় fazla কিছু থাকে।
- এটি করতে, আপনাকে আপনার পাসওয়ার্ড ফাইল এডিট করতে হবে। আপনি এটি করতে পারেন Alt + X চাপুন এবং password-store-edit টাইপ করে।
- এটাও একটি প্রম্পট আনবে যেখানে প্যাকেজটি আপনাকে জিজ্ঞেস করবে কোন পাসওয়ার্ড আপনি এডিট করতে চান। আমার কেসে, আমি আমার "forum-account" এন্ট্রির জন্য অতিরিক্ত সিকিউরিটি ক্যোশচন যোগ করতে চাই।
- এখান থেকে, প্যাকেজটি আপনাকে আপনার GPG কী পাসওয়ার্ড লিখতে বলবে। তারপর, Emacs পাসওয়ার্ড ফাইলের কন্টেন্ট একটি আলাদা বাফারে দেখাবে যা আপনি এডিট করতে পারবেন।
- হলে, আপনি আপনার পাসওয়ার্ড ফাইল সেভ করতে পারেন Ctrl + X, Ctrl + S চাপায়। সেখান থেকে, আপনি এডিট ফাইনালাইজ করতে পারেন Ctrl + X, K চাপায়। এটি পাসওয়ার্ড বাফার বন্ধ করবে এবং Password Store-কে বলবে পরিবর্তনগুলো এর ফাইল ট্রি-তে কমিট করতে।
আপনার স্টোরে একটি পাসওয়ার্ড রিমুভ করা
একইভাবে, আপনার স্টোরে একটি পাসওয়ার্ড ডিলিট করাও একটি সহজ প্রক্রিয়া। আপনি একটি পাসওয়ার্ড রিমুভ করতে পারেন Alt + X চাপুন এবং password-store-remove টাইপ করে। এটি একটি প্রম্পট আনবে আপনাকে জিজ্ঞেস করবে কোন পাসওয়ার্ড রিমুভ করতে চান।
আমার কেসে, আমি একটি পুরনো পাসওয়ার্ড রিমুভ করতে চাইলাম একটি সাইটের জন্য যেটি আমি আর ভিজিট করি না। তাই আমি "my-old-password" টাইপ করলাম এবং Enter চাপলাম।
স্টোর থেকে পাসওয়ার্ড কপি করা
শেষে, প্যাকেজটি আপনাকে আপনার পাসওয়ার্ড সরাসরি Emacs-থেকে কপি করতে দেয়। এটি অত্যন্ত উপযোগী যদি আপনি দ্রুত আপনার স্টোর অ্যাক্সেস করতে চান যখনই আপনি কোনো সার্ভিস বা অ্যাকাউন্টে লগইন করছেন।
- এটি করতে, আপনি Alt + X চাপুন এবং password-store-copy টাইপ করতে পারেন।
- এটি একটি প্রম্পট লোড করবে যা আপনাকে জিজ্ঞেস করবে কোন পাসওয়ার্ড আপনি আপনার ক্লিপবোর্ডে কপি করতে চান।
এতটুকু! আপনার এখন একটি বেসিক ধারণা আছে কীভাবে Emacs আপনার পাসওয়ার্ড ম্যানেজার হিসেবে ব্যবহার করতে হয়। আরও, আপনি এখন জানেন কীভাবে একটি সহজ, ফাইল-চালিত পাসওয়ার্ড ম্যানেজার Password Store ব্যবহার করতে হয়।
প্রশ্নোত্তর
1. কি Password Store-এ KeepassXC-এর মতো পাসওয়ার্ড জেনারেট করা সম্ভব?
হ্যাঁ! প্যাকেজটি বক্সের বাইরে থেকে নতুন অ্যাকাউন্টের জন্য পাসওয়ার্ড জেনারেট করতে পারে। আপনি এই ফাংশন অ্যাক্সেস করতে পারেন Alt + X চাপুন এবং password-store-generate টাইপ করে।
এটি প্যাকেজকে একটি নতুন অ্যাকাউন্টের জন্য প্রম্পট করার জন্য বলে। সেখান থেকে, এটি সেই অ্যাকাউন্টের জন্য একটি যথেষ্ট র্যান্ডম পাসওয়ার্ড জেনারেট করবে। আপনি তারপর সেই পাসওয়ার্ড কপি করতে পারেন password-store-copy ফাংশন ব্যবহার করে যেমন উপরে বর্ণনা করা হয়েছে।
2. কি আমার স্টোরের জন্য ワン-টাইম পাসওয়ার্ড (OTP) সাপোর্ট ইন্টিগ্রেট করা সম্ভব?
হ্যাঁ! Password store-র একটি চমৎকার প্লাগইন আছে যা কমান্ড লাইন থেকে OTP ম্যানেজ করতে পারে। এটি ব্যবহার করতে, তবে, আপনাকে একটি অতিরিক্ত প্যাকেজ ইনস্টল করতে হবে OTP জেনারেট করার জন্য।
উদাহরণস্বরূপ, Debian এবং Ubuntu-তে আপনি নিচের কমান্ড রান করে ইনস্টল করতে পারেন:
sudo apt install pass-extension-otp
Fedora-তে dnf ব্যবহার করুন:
sudo dnf install pass-otp
Arch Linux-এ pacman ব্যবহার করুন:
sudo pacman -S pass-otp
একবার হলে, আপনি এই কমান্ড রান করতে পারেন একটি OTP লিঙ্ক স্টোর অ্যাকাউন্টে ইনসার্ট করতে:
pass otp insert "account-name"
সেখান থেকে, আপনাকে শুধু pass otp "account-name" রান করতে হবে সেই অ্যাকাউন্টের জন্য একটি OTP কোড জেনারেট করতে।
3. কি Emacs-এ পাসওয়ার্ডগুলো ট্রি হিসেবে ডিসপ্লে করা সম্ভব?
দুঃখের সাথে বলতে হচ্ছে, না। যাইহোক, আপনি আপনার সব পাসওয়ার্ড ট্যাব-কম্পলিশন দিয়ে ডিসপ্লে করতে পারেন যদি আপনি একটি মিনিবাফার কম্পলিশন প্যাকেজ ব্যবহার করেন।
সর্বाधিক সাধারণ প্যাকেজগুলো যা এই ফাংশনালিটি প্রদান করে সেগুলো হলো helm এবং mct। উভয়ই GNU ELPA রিপোজিটরিতে উপলব্ধ, এবং তাই সহজে package-install ফাংশন দিয়ে ইনস্টল করা যায়।