SSH আসলে কী করে
Splync আপনার স্মার্টফোন এবং আমাদের সার্ভারের মধ্যে রুট সুরক্ষিত রাখতে HTTPS ব্যবহার করলেও, ব্যবহারকারীর তথ্যের সুরক্ষার জন্য সার্ভার নিজেই সুরক্ষিত রাখা প্রয়োজন। অ্যাপ ডেভেলপার এবং সিস্টেম অ্যাডমিনিস্ট্রেটরদের সেই সার্ভারে নিরাপদে প্রবেশ করার পদ্ধতির প্রয়োজন, যাতে তারা আপডেট বজায় রাখতে এবং নিয়মিত আপডেট করতে পারেন। এখানেই SSH (সিকিউর শেল) আসে। এটি একটি প্রোটোকল যা অনুমোদিত ব্যবহারকারীদের দূরবর্তী কম্পিউটারে নিরাপদে লগইন করতে দেয়, এমনকি অবিশ্বস্ত নেটওয়ার্কের মধ্য দিয়েও। SSH পুরনো ও অনিরাপদ পদ্ধতি যেমন টেলনেটের স্থান নিয়েছে, যা ব্যবহারকারীর নাম এবং পাসওয়ার্ড সাধারণ পাঠ্য হিসেবে পাঠাত।
“কী” এর ধারণা
SSH সাধারণ পাসওয়ার্ডের উপর নির্ভর করে না। বরং এটি ক্রিপ্টোগ্রাফিক কী ব্যবহার করে — একটি পাবলিক কী এবং একটি প্রাইভেট কী-এর মিলিত জোড়া। তাদেরকে এমন একটি তালা এবং চাবি হিসেবে ভাবুন যা কেবল একে অপরের সাথে মানানসই। পাবলিক কীটি সার্ভারে থাকে, এবং প্রাইভেট কীটি ব্যবহারকারীর সঙ্গে থাকে। আপনি যখন সংযোগ করেন, সার্ভার আপনাকে প্রাইভেট কীটির মালিকানার প্রমাণ করতে চ্যালেঞ্জ করে, কখনোই এটি প্রকাশ না করেই। এটি শোনার চেষ্টা করা কারো পক্ষে আপনাকে প্রতারিত করা প্রায় অসম্ভব করে তোলে। প্রচলিত পাসওয়ার্ড গেস করা, ফাঁস করা বা পুনরায় ব্যবহার করা যেতে পারে, কিন্তু SSH কী লম্বা, এলোমেলো ক্রিপ্টোগ্রাফিক স্ট্রিং — প্রায় অননুমেয়। কেউ সংযোগের গন্ধ নিতে পারলেও, তারা কেবল এনক্রিপ্ট করা শব্দ শুনতে পাবে। এবং যেহেতু SSH কী নেটওয়ার্কের মাধ্যমে কখনও পাঠানো হয় না, তাই পরিবহনে চুরি করার কিছু নেই।
SSH কী আসলে কেমন দেখায়
যদি আপনি আগে কখনও SSH কী না দেখে থাকেন, এটি বিমূর্ত শোনাতে পারে — কিন্তু এটি আসলে একটি দীর্ঘ এনকোড করা টেক্সটের ব্লক। একটি পাবলিক কী সাধারণত কয়েকশত চরিত্র লম্বা হয়, যখন একটি প্রাইভেট কী এক হাজারেরও বেশি চরিত্র হতে পারে। উভয়ই টেক্সট ফাইল হিসেবে সংরক্ষিত হয়, তবে তাদের বিষয়বস্তু এলোমেলো শব্দের মতো দেখায় — অক্ষর, সংখ্যা, এবং প্রতীকের মিশ্রণ। পাবলিক কী শেয়ার করতে নিরাপদ; এটি আপনার তালাটি সার্ভারে স্থাপন করার মতো। অন্যদিকে, প্রাইভেট কী আপনার অনন্য ডিজিটাল পরিচয় এবং এটি কখনও শেয়ার করা উচিত নয়। এটি আপনার কম্পিউটারে স্থানীয়ভাবে সংরক্ষিত এবং কেবলমাত্র আপনার পরিচয় প্রমাণ করতেই ব্যবহৃত হয় — কখনোই কীটি প্রকাশ না করেই।
পাবলিক কী এবং প্রাইভেট কী
একটি পাবলিক কী আপনার বাড়িতে যে তালা আপনি সংযুক্ত করেন তার মতো। রাস্তা থেকে যে কেউ এটি দেখতে পারে, যেমন আপনার সামনের দরজায় তালা লাগানো থাকে। কিন্তু তালাটি দেখে কেউ বুঝতে পারে না এটি কীভাবে খোলা যায়। অন্য কথায়, যে কেউ এটি দেখতে পারে, কিন্তু কেবল সঠিক চাবি এটি খুলতে পারে। অন্যদিকে, প্রাইভেট কী সেই চাবি যা তালাটি খোলে — এবং এটি আপনার সঙ্গেই নিরাপদে থাকে। যদি কেউ আপনার প্রাইভেট কী পায়, তারা আপনার মতো করেই আপনার বাড়িতে প্রবেশ করতে পারে। তাই এটি সর্বদা গোপনে রাখা উচিত।
SSH মেকানিজম
প্রতিটি পাবলিক কী এবং প্রাইভেট কী একটি অনন্য এক-টু-ওয়ান জোড়া তৈরি করে। তারা একটি গাণিতিক প্রক্রিয়ার মাধ্যমে একসাথে তৈরি হয় যাতে শুধুমাত্র সেই নির্দিষ্ট প্রাইভেট কী তার সংশ্লিষ্ট পাবলিক কীটির সাথে মানানসই হয়। আপনি তাদের বিশেষভাবে তৈরি তালা এবং চাবি হিসেবে ভাবতে পারেন — একসাথে তৈরি হয়েছে, এবং বিশ্বের অন্য কোনো চাবি সেই তালার সাথে মানায় না। এমনকি আপনি একই অ্যালগরিদম (যেমন RSA বা Ed25519) ব্যবহার করে অন্য একটি জোড়া তৈরি করলেও, ভিতরের সংখ্যা সম্পূর্ণ আলাদা হবে। তাদের সংযুক্ত করার গাণিতিক প্রক্রিয়া একমুখী: আপনি সহজেই প্রাইভেট কী থেকে পাবলিক কীটি উৎপন্ন করতে পারেন, কিন্তু প্রাইভেট কীটি আবিষ্কার করা প্রায় অসম্ভব। তাই প্রতিটি SSH কী জোড়া অনন্য এবং নিরাপদ।
SSH কীভাবে আপনার পরিচয় প্রমাণ করে
আপনি যখন SSH দিয়ে সার্ভারে লগইন করেন, আপনার প্রাইভেট কী কখনও আপনার কম্পিউটার ছাড়ে না। পরিবর্তে, সার্ভার একটি র্যান্ডম চ্যালেঞ্জ পাঠায় — এক ধরনের এককালীন ধাঁধা — যা শুধুমাত্র আপনার প্রাইভেট কী সমাধান করতে পারে। আপনার কম্পিউটারটি গাণিতিকভাবে সেই চ্যালেঞ্জটিকে স্বাক্ষর করে, একটি ছোট উত্তর তৈরি করে যা সার্ভার আপনার পাবলিক কী ব্যবহার করে পরীক্ষা করতে পারে। যদি উত্তরটি মেলে, সার্ভার জানে যে আপনার কাছে সঠিক প্রাইভেট কী আছে — এটি কখনও না দেখেই। এটি আধুনিক ক্রিপ্টোগ্রাফির যাদু: আপনি আপনার গোপন প্রমাণ ছাড়াই আপনার পরিচয় প্রমাণ করতে পারেন। SSH প্রমাণীকরণ কাজ করে কারণ আপনার প্রাইভেট কীতে পাবলিক কীটি তৈরি করার সমস্ত তথ্য রয়েছে, তবে বিপরীতটি প্রায় অসম্ভব।
ডেভেলপাররা কিভাবে SSH ব্যবহার করেন বাস্তবে
প্রতি বার যখন ডেভেলপাররা কোড স্থাপন করেন, একটি ডাটাবেস আপডেট করেন, বা একটি পরিষেবা পুনরায় চালু করেন, তারা প্রায়শই SSH এর মাধ্যমে তাদের দূরবর্তী সার্ভারে সংযোগ করেন। প্রমাণীকরণের পরে, তারা সার্ভারের সাথে একটি সুরক্ষিত কমান্ড-লাইন সংযোগ পান। সেখান থেকে তারা ফাইল পরিচালনা করতে, পরিষেবাগুলি পুনরায় চালু করতে বা লগগুলি পরিদর্শন করতে পারেন — সবকিছুই প্রান্ত থেকে প্রান্ত এনক্রিপ্ট করা হয়। Splync এর ক্ষেত্রে, SSH হল কিভাবে আমরা আমাদের ক্লাউড সার্ভারটি নিরাপদভাবে পরিচালনা করি। প্রতিটি প্রশাসনিক ক্রিয়া — আপডেট স্থাপন, লগ পরীক্ষা করা, ডেটা ব্যাকআপ করা — ক্রিপ্টোগ্রাফিক কী দ্বারা সুরক্ষিত SSH সংযোগের মাধ্যমে করা হয়। সঠিক প্রাইভেট কী ছাড়া কেউ সার্ভারে প্রবেশ করতে পারে না। এমনকি কেউ যদি আমাদের IP ঠিকানা জানতেও, সেই চাবি ছাড়া, দরজাটি কেবল খোলা হবে না।
পরবর্তী: সার্ভারের ভিতরে এনক্রিপশন
SSH সার্ভারের প্রবেশদ্বার সুরক্ষিত করে, এবং HTTPS চলাচলের ডেটা সুরক্ষিত করে। কিন্তু একবার ডেটা ডাটাবেসের ভিতরে এসে পড়লে, এটি কিভাবে সুরক্ষিত রাখা যায়? এখানেই হ্যাশিং এবং এনক্রিপশন আসে — প্রতিরক্ষার চূড়ান্ত স্তর।