যখন আপনাকে দূর থেকে একটি *nix মেশিন ম্যানেজ করতে হয়, আপনি почти সবসময় SSH ব্যবহার করবেন। যেকোনো BSD বা লিনাক্স-ভিত্তিক অপারেটিং সিস্টেম সার্ভারে চললে OpenSSH ডেমন প্রি-ইনস্টলড থাকে। এই ডেমন সাথে "কথা বলা" এবং রিমোট মেশিনের সাথে ইন্টারঅ্যাক্ট করার জন্য আপনাকেও একটি SSH ক্লায়েন্ট লাগবে। PuTTY অনেক দিন ধরে উইন্ডোজে সবচেয়ে জনপ্রিয় SSH ক্লায়েন্ট, কিন্তু লাস্ট মেজর আপডেট از উইন্ডোজ ১০-এর সাথে একটি SSH ক্লায়েন্ট প্রি-ইনস্টলড আসছে। এটি ব্যবহার করা PuTTY ইনস্টল ও কনফিগার করার চেয়ে সহজ ও দ্রুত।
উইন্ডোজ-এর OpenSSH ক্লায়েন্ট ইনস্টল করা
প্রথমে চেক করুন এটি ইতিমধ্যে ইনস্টলড আছে কিনা। উইন্ডোজ লোগো কী চাপুন বা স্টার্ট মেনুতে ক্লিক করুন। cmd টাইপ করুন এবং কমান্ড প্রম্পট খুলুন।
এখন ssh টাইপ করুন এবং Enter চাপুন। কমান্ড লাইন সুইচের একটি সংক্ষিপ্ত সারমারি দেখালে বুঝবেন ক্লায়েন্ট ইনস্টলড আছে, এবং এই সেকশনের বাকি অংশ স্কিপ করুন।
যদি "command not recognized" মেসেজ আসে, স্টার্ট মেনুতে features টাইপ করুন। "Apps & features" খুলুন এবং "Manage optional features"-এ ক্লিক করুন।
তারপর "Add a feature"-এ ক্লিক করুন এবং নিচে স্ক্রোল করুন "OpenSSH Client" পাওয়া পর্যন্ত। ইনস্টল করুন এবং আপনি রেডি।
উইন্ডোজের বিল্ট-ইন OpenSSH ক্লায়েন্ট ব্যবহার করা
আপনি যদি লিনাক্সে ssh কমান্ড জানেন, তবে আপনি ইতিমধ্যে জানেন উইন্ডোজেও কীভাবে ব্যবহার করতে হয়। সিনট্যাক্স এবং কমান্ড লাইন সুইচ একই। OpenBSD-এর ওয়েবসাইটে পূর্ণ SSH ম্যানুয়াল পড়তে পারেন।
সার্ভারের সাথে কানেক্ট করার বেসিক সিনট্যাক্স: ssh username@IP-address-or-hostname।
উদাহরণ:
ssh root@203.0.113.1 ssh john@example.com
পাসওয়ার্ড দিয়ে লগইন করলে সহজ। yes টাইপ করুন ফিংগারপ্রিন্ট এক্সেপ্ট করতে, তারপর পাসওয়ার্ড টাইপ করুন (স্ক্রিনে ক্যারেক্টার見えবে না)।
তবে, পাসওয়ার্ডের বদলে SSH কী ব্যবহার করা রিকমেন্ডেড। বটনেটের জম্বি কম্পিউটার دائماً স্ক্যান করে ও ব্রুটফোর্স করে OpenSSH সার্ভারে পাসওয়ার্ডের ওপর। কী ব্রুটফোর্স করা যায় না। এটা পাসওয়ার্ড প্লাস fail2ban স্কিমের চেয়ে অনেক বেশি সিকিউর। Fail2ban একই IP থেকে মাল্টিপল অটেম্প্ট ব্লক করে, কিন্তু অন্য IP ডিফারেন্ট পাসওয়ার্ড ট্রাই করে তাক.one লাকি হলে।
SSH কী দিয়ে লগইন করা
SSH অথেন্টিকেশনের জন্য কী পেয়ার তৈরি করার অনেক মেথড আছে। এবং উইন্ডোজেও ssh-keygen আছে যা কমান্ড প্রম্পটে ব্যবহার করা যায়। পেয়ার তৈরি করার পর পাবলিক কী সার্ভারে যোগ করুন এবং পাসওয়ার্ড লগইন ডিজেবল করুন। তারপর প্রাইভেট কী আপনার উইন্ডোজ কম্পিউটারে সেভ করুন।
লগইন করার সময় প্রাইভেট কীর পাথ -i প্যারামিটারের পর দিন এমন একটি কমান্ডে:
ssh -i C:\Users\mte\testkey root@203.0.113.1
অথবা প্রাইভেট কীকে ডিফল্ট লোকেশনেই সরিয়ে দিন। প্রথম কানেকশনের পর SSH ক্লায়েন্ট আপনার কারেন্ট ইউজার ডিরেক্টরিতে .ssh ডিরেক্টরি তৈরি করে। কমান্ড প্রম্পটে এটি টাইপ করলে ডিরেক্টরি খুলবে:
explorer %userprofile%\.ssh
এখন প্রাইভেট কী এখানে কপি করুন এবং নাম দিন id_rsa।
এখন থেকে -i প্যারামিটার ছাড়া এই প্রাইভেট কী দিয়ে লগইন করতে পারবেন।
ssh root@203.0.113.1
উপযোগী SSH কমান্ড প্যারামিটার
-p— ব্যবহার করুন যদি আপনার SSH সার্ভার ভিন্ন পোর্টে (২২ ছাড়া) লিসেন করে। উদাহরণ:ssh -p 4444 root@203.0.113.1-C— ক্লায়েন্ট ও সার্ভারের মাঝপথে ট্রাফিক কমপ্রেস করুন। খুব স্লো কানেকশনে আপयोगী-v— ভার্বোস মোড, কী হচ্ছে সেটা বেশি আউটপুট করে। কানেকশন ইস্যু ডিবাগ করতে সাহায্য করে।
উদাহরণ কমান্ড:
ssh -p 4444 -C -v root@203.0.113.1
উপসংহার
যেহেতু এটি লিনাক্স মেশিনে পাওয়া যাওয়া OpenSSH ক্লায়েন্টের মতোই, sftp এর মতো কিছু কমান্ডও উপলব্ধ। এটি রিমোট সার্ভারে ফাইল আপলোড/ডাউনলোড সুবিধা দেয়। কমান্ড লাইন পছন্দ করা লোকেদের জন্য এর মানে আর FileZilla-এর মতো FTP ক্লায়েন্ট ইনস্টল করার দরকার নেই। ssh কমান্ড দিয়ে SSH টানেল সেটআপ করা ও সম্ভব। আমরা ভবিষ্যতে এতে টিউটোরিয়াল দিতে পারি, কারণ এটি কিছু "অসম্ভব" জিনিস সম্ভব করে—যেমন আপনার লোকাল কম্পিউটারে আউটসাইড কানেক্সন এক্সেপ্ট করা, এমনকি যদি আপনার ISP প্রাইভেট এক্সটার্নাল IP দেয় না (একই ইন্টারনেট IPর পেছনে একাধিক ক্লায়েন্ট থাকে)।