Secure Git Mobile Workflow: Setting Up SSH Keys in Termux
মোবাইল ফোন দিয়ে প্রফেশনাল লেভেলের ডেভলপমেন্ট বা কোডিং করার সময় ভার্সন কন্ট্রোল সিস্টেম বা গিট (Git) ব্যবহার করা আবশ্যিক। তবে গিটহাবে (GitHub) কোড পুশ করার সময় প্রতিবার Personal Access Token (PAT) বা ইউজারনেম টাইপ করা চরম বিরক্তিকর এবং সময়সাপেক্ষ। বিশেষ করে মোবাইল কিবোর্ডে দীর্ঘ টোকেন পেস্ট করা বেশ ঝামেলার।
এই সমস্যার স্থায়ী এবং সবচেয়ে নিরাপদ সমাধান হলো **SSH (Secure Shell) Key** আর্কিটেকচার সেটআপ করা। এর ফলে আপনার টারমাক্স টার্মিনাল এবং গিটহাব ক্লাউড সার্ভারের মধ্যে একটি স্থায়ী এনক্রিপ্টেড টানেল তৈরি হবে, যা কোনো পাসওয়ার্ড বা টোকেন ছাড়াই এক ক্লিকে কোড পুশ বা পুল সম্পন্ন করবে।
ধাপ ১: টারমাক্সে নতুন SSH কি-পেয়ার জেনারেট করা
আপনার মোবাইল ডেটা কানেকশন অন করে টারমাক্স ওপেন করুন এবং নিরাপদ ক্রিপ্টোগ্রাফিক অ্যালগরিদম (Ed25519) ব্যবহার করে একটি নতুন কি জেনারেট করুন:
# ১. ওপেনএসএসএইচ এবং গিট ইনস্টল করা
pkg update && pkg install openssh git -y
# ২. ইমেইল আইডি দিয়ে ইউনিক এসএসএইচ কি তৈরি করা
ssh-keygen -t ed25519 -C "your-email@example.com"
কমান্ডটি এক্সিকিউট হওয়ার পর ফাইলের নাম জানতে চাইলে সরাসরি Enter চাপুন। এরপর পাসফ্রেজ (Passphrase) চাইলে সেটি খালি রেখে দুইবার Enter প্রেস করে স্কিপ করুন।
ধাপ ২: পাবলিক কি গিটহাব অ্যাকাউন্টে যোগ করা
এবার তৈরি হওয়া জোড়া চাবির পাবলিক কি-টি (Public Key) কপি করে নিয়ে গিটহাব হাবে সাবমিট করতে হবে:
# পাবলিক কি টার্মিনালে প্রিন্ট করা
cat ~/.ssh/id_ed25519.pub
আউটপুটে আসা ssh-ed25519 AAAA... দিয়ে শুরু হওয়া সম্পূর্ণ টেক্সটটি নিখুঁতভাবে সিলেক্ট করে কপি করে নিন। এবার আপনার ব্রাউজারে গিয়ে গিটহাবের **Settings ➔ SSH and GPG keys ➔ New SSH Key** বাটনে ক্লিক করে টাইটেলে "Termux Mobile" দিন এবং Key বক্সে কপি করা টেক্সটটি পেস্ট করে সেভ করুন।
ধাপ ৩: সংযোগ ভেরিফিকেশন ও লোকাল কনফিগারেশন
সংযোগ সফলভাবে কাজ করছে কিনা তা পরীক্ষা করতে টারমাক্সে নিচের কমান্ডটি রান করুন:
ssh -T git@github.com
প্রথমবার রান করলে একটি ওয়ার্নিং মেসেজ আসতে পারে, সেখানে yes লিখে এন্টার দিন। স্ক্রিনে যদি "Hi username! You've successfully authenticated..." লেখাটি দেখতে পান, তবে বুঝবেন আপনার সিকিউর মোবাইল গিট পাইপলাইন ১০০% রেডি!
ক্রিটিক্যাল টিপস: এখন থেকে গিটহাবে কোনো নতুন বা এক্সিস্টিং রিপোজিটরি ক্লোন বা রিমোট অ্যাড করার সময় সর্বদা HTTPS লিঙ্কের পরিবর্তে **SSH URL** (যেমন: git@github.com:username/repo.git) ব্যবহার করবেন। এতে মোবাইলের ব্যাকগ্রাউন্ডে অটোমেটিক হ্যান্ডশেক সম্পন্ন হবে এবং কোনো বাধা ছাড়াই ফ্রিতে আনলিমিটেড কোড ডেপ্লয়মেন্ট করতে পারবেন।