লিনাক্স ব্যবহারের সবচেয়ে গুরুত্বপূর্ণ উপায়ों में একটি হলো SSH। এই রিমোট অ্যাক্সেস কমান্ড লাইন টুল আপনাকে সফটওয়্যার ইনস্টলেশন থেকে লিনাক্সকে ওয়েব সার্ভার হিসেবে কনফিগার করা—সব কিছু করতে দেয়। SSH সময় বাঁচায়, আপনাকে আরও পণ্যৎশীল করে তোলে এবং আপনার লিনাক্স ডিস্ট্রোর ক্ষমতা উন্মুক্ত করতে সাহায্য করে।
কিন্তু আপনি কীভাবে SSH সেটআপ করবেন, ক্লায়েন্ট এবং সার্ভার উভয় পাশে? ক্লায়েন্ট এবং সার্ভার উভয় দিকের SSH সফটওয়্যার ইনস্টল ও কনফিগার করা শিখুন এবং আপনার লিনাক্স কম্পিউটার রিমোটলি কন্ট্রোল করুন।
SSH কী?
SSH står কি Secure Shell এবং এটি আপনাকে একটি লিনাক্স কম্পিউটার বা সার্ভার অন্য একটি ডিভাইস থেকে রিমোটলি কন্ট্রোল করতে দেয়। এটি লোকাল এরিয়া নেটওয়ার্ক এবং ইন্টারনেট দুটোর ওপর কাজ করে, অর্থাৎ এটি আপনার বাড়িতে লিনাক্স-চালিত মিডিয়া সার্ভার বা অন্য महাদেশে অবস্থিত একটি লিনাক্স ওয়েব সার্ভার ম্যানেজ করতে ব্যবহার করা যায়।
যদিও SSH রিমোট কম্পিউটারের ডেস্কটপ এনভায়রনমেন্টে অ্যাক্সেস দেয় না, এটি আপনাকে টার্মিনাল ব্যবহার করতে দেয়। একবার রিমোট কম্পিউটারের সাথে কানেক্ট হলে আপনি এটিকে যেন আপনার চোখের সামনে আছে তেমনই ব্যবহার করতে পারবেন। শুধু রুট অ্যাক্সেস নিশ্চিত করুন।
লিনাক্সের জন্য অন্যান্য রিমোট অ্যাক্সেস সমাধানও রয়েছে। উদাহরণস্বরূপ, উবুন্টু ব্যবহারকারীরা VNC-সামঞ্জস্যপূর্ণ রিমোট ডেস্কটপ টুল Remmina-র উপর নির্ভর করতে পারেন।
SSH ব্যবহার করতে হলে, আপনাকে নিশ্চিত করতে হবে যে রিমোট কম্পিউটার (সার্ভার) এ SSH সেটআপ করা আছে। এছাড়া, আপনার লোকাল ডিভাইস (ক্লায়েন্ট) তেও একটি SSH অ্যাপ ইনস্টল করা থাকতে হবে।
ক্লায়েন্ট-সাইড ইনস্টলেশন
ক্লায়েন্টে SSH ইনস্টল ও সেটআপ করা সহজ। কিছু ক্ষেত্রে আপনাকে কোনো অতিরিক্ত সফটওয়্যার লাগে না:
- লিনাক্স ব্যবহারকারীদের টার্মিন্যালে বিল্ট-ইন SSH ক্লায়েন্ট থাকবে
- macOS কম্পিউটারগুলোর টার্মিন্যালেও SSH প্রি-ইনস্টলড থাকে
- উইন্ডোজ পিসিতে PowerShell কমান্ড লাইন টুল ব্যবহার করতে হবে, অথবা PuTTY ইনস্টল করতে হবে
- iPhone এবং iPad-এ SSH ব্যবহার করতে iTerminal ($4.99) ট্রাই করুন
- Android-এ SSH-এর জন্য JuiceSSH (Free) ব্যবহার করুন
আপনার লিনাক্স সিস্টেমে SSH ইনস্টলড নেই? প্যাকেজ আপডেট ও আপগ্রেড করে ইনস্টল করুন:
sudo apt update && sudo apt upgrade
sudo apt install openssh-client
উইন্ডোজে SSH ব্যবহার করার অভ্যাস থাকলে কিন্তু লিনাক্স ডেস্কটপে স্যুইচ করলে, আপনি PuTTY ডেস্কটপ SSH অ্যাপের সহজ মাউস ইন্টারফেস মিস করতে পারেন। خوشকhabরবশত, এটি লিনাক্স ডেস্কটপেও ইনস্টল করা যায়:
sudo apt install putty
আপনার SSH ক্লায়েন্ট সফটওয়্যার ইনস্টল হলে, আপনি আপনার রিমোট কম্পিউটার বা সার্ভারের সাথে কানেকশন সেটআপ করার জন্য প্রস্তুত।
সকল ডেস্কটপ ও মোবাইল ক্লায়েন্টের জন্য সাধারণ নিয়ম: আপনার দরকার শুধু একটি IP অ্যাড্রেস বা হোস্ট নাম, এবং উপযুক্ত লগইন ডিটেইলস। অ্যাপগুলোর লুক ভিন্ন হলেও, এবং পোর্ট নাম ম্যানুয়ালি দিতে হলে, SSH ক্লায়েন্টগুলো অধিকাংশ ক্ষেত্রে অচেনা।
সার্ভার-সাইড ইনস্টলেশন এবং কনফিগারেশন
কানেকশন স্থাপনের আগে, আপনার SSH কানেকশন হোস্ট করার জন্য সার্ভার-সাইড সফটওয়্যার ইনস্টল করুন। এটির জন্য কাউকে উপস্থিত থাকতে হবে SSH ইনস্টল বা ইনেবল করতে। আপনি নিজেই উপস্থিত থাকতে পারেন—অন্যথায়, সার্ভার এন্ডে একজন সহকর্মী বা সাপোর্ট ইঞ্জিনিয়ার SSH সেটআপ করবেন।
মনে রাখবেন যে আপনি যদি ওয়েব হোস্টিং প্যাকেজ ব্যবহার করেন, SSH ডিফল্টভাবে ইনেবল থাকা উচিত। না থাকলে আপনার ওয়েব হোস্টের সাথে কথা বলুন SSH সেটআপ করার জন্য।
যদি রিমোট কম্পিউটার বা সার্ভারে SSH ইনেবল না থাকে, তবে নিচের কমান্ড দিয়ে ইনস্টল করুন:
sudo apt install openssh-server
এটি কাজ করেছে কিনা চেক করতে:
sudo systemctl status ssh
কমান্ডটি "active" রেসপন্স দিতে হবে।
কিছু ক্ষেত্রে উবুন্টু ফায়ারওয়াল ufw SSH ব্লক করতে পারে। এটি না হলে নিশ্চিত করতে:
sudo ufw allow ssh
কিছু ক্ষেত্রে রিমোট ডিভাইসে SSH ইনেবল করতেও হয়। এটি একটি সিকিউরিটি প্রিকশন যা টুইক করা যায়:
sudo systemctl enable ssh
অন্যান্য অপশনও রয়েছে (stop, start, এবং disable) SSH সার্ভিস কনফিগার করার জন্য।
IP অ্যাড্রেস নির্ধারণ করুন
SSH-এর মাধ্যমে রিমোট ডিভাইসের সাথে কানেক্ট করতে হলে, আপনাকে মেশিনের IP অ্যাড্রেস জানতে হবে। এর দুটি সহজ উপায় রয়েছে:
- টার্মিন্যাল কমান্ড চালান
- রাউটার চেক করুন
রিমোট সিস্টেমের IP অ্যাড্রেস দেখতে, লগইন করে চালান:
ip address
এটি ডিভাইসের IP অ্যাড্রেস রিটার্ন করবে, তাই এটি নোট করুন। পুরনো লিনাক্স ভার্সনে
ifconfig
ভালো ফলাফল দিতে পারে।
আপনি আপনার রাউটার চেক করেও কানেক্টেড ডিভাইসগুলো দেখতে পারেন। লিনাক্স পিসি বা সার্ভারটি লিস্ট করা থাকবে, সাধারণত অপারেটিং সিস্টেম বা ডিভাইস নাম দ্বারা। এটি সনাক্ত করা সহজ করবে।
পাবলিক IP অ্যাড্রেস দেখতে, সার্ভারে লগইন করে whatsmyip.org খুলুন।
আপনি যে IP অ্যাড্রেসটি ব্যবহার করবেন তা কানেকশনের জন্য উপযুক্ত হওয়া উচিত। তাই, যদি ডিভাইসটি ক্লায়েন্টের সাথে একই নেটওয়ার্কে থাকে, লোকাল IP অ্যাড্রেস ব্যবহার করুন। ইন্টারনেট জুড়ে কানেকশনের জন্য, পাবলিক IP অ্যাড্রেস ব্যবহার করুন। কম্পিউটার যদি অন্য নেটওয়ার্কে থাকে, নিশ্চিত করুন যে পোর্ট ২২ কম্পিউটারের দিকে ফরওয়ার্ড করা আছে।
SSH-এর মাধ্যমে লিনাক্সের সাথে কানেক্ট হোন
সঠিক IP অ্যাড্রেসের পাশাপাশি আপনার पास একটি ইউজারনেম এবং পাসওয়ার্ড থাকতে হবে রিমোট মেশিনে অ্যাক্সেস পেতে।
কমান্ড লাইন SSH টুলের জন্য, ব্যবহার করুন:
ssh username@REMOTE.IP.ADDRESS.HERE
username-কে আসলে ইউজারনেম এবং REMOTE.IP.ADDRESS.HERE-কে রিমোট ডিভাইসের IP অ্যাড্রেস দিয়ে রিপ্লেস করুন। Enter চাপুন, এবং আপনাকে পাসওয়ার্ডের জন্য প্রম্পট করা হবে।
সঠিক পাসওয়ার্ড দিলে আপনি একটি কার্যকর টার্মিন্যাল প্রম্পট পাবেন—আপনি এখন রিমোট কম্পিউটারে লগইন করেছেন।
PuTTY-এর মতো ডেস্কটপ SSH ক্লায়েন্ট ব্যবহার করছেন?
Host Name বা IP address ইনপুট দিন, SSH কানেকশন টাইপ সিলেক্ট করুন, তারপর Open। যখন ইউজারনেম এবং পাসওয়ার্ডের জন্য প্রম্পট করা হবে, কমান্ড লাইন উইন্ডোতে এন্টার করুন কানেকশন সম্পন্ন করে রিমোট অ্যাক্সেস পেতে।
কানেক্ট হচ্ছে না? আপনার SSH সেটআপ ট্রাবলশুট করুন
যদি আপনার SSH কানেকশন সমস্যা হয়, তবে এগুলো সম্ভাব্য কারণ:
- SSH সফটওয়্যার যেকোনো একটি কম্পিউটারে ইনস্টলড নেই
- আপনার ইউজারনেম বা পাসওয়ার্ড ভুল
- IP অ্যাড্রেস ভুল
- ফায়ারওয়াল কানেকশন ব্লক করছে, অথবা পোর্ট ২২ ফরওয়ার্ড করা নেই
প্রতিটি পয়েন্ট ডাবল-চেক করুন এবং আপনি কানেক্ট করতে পারবেন বলে আশা করি। না হলে, সমস্যাটি আরও জটিল হতে পারে।
SSH দিয়ে লিনাক্স রিমোটলি ব্যবহার করুন
SSH এক বা একাধিক লিনাক্স কম্পিউটার ম্যানেজ করার জন্য একটি কার্যকর টুল।
এটি আপনাকে শুধু একটি সিস্টেম থেকে যেকোনো মেশিনে কাজ করতে দেয়। আপনি প্রায় যেকোনো লিনাক্স টার্মিন্যাল কমান্ড SSH-এর ওপর রান করতে পারেন।
মূল উদাহরণগুলো হলো:
- আপডেট: sudo apt update && sudo apt upgrade
- স্ট্যাটাস চেক: uptime
- চলমান প্রসেস: ps
- সিপিইউ অনুযায়ী চলমান প্রসেস: top
লিনাক্স সার্ভার ম্যানেজ করার জন্য SSH কমান্ডের তালিকা দেখতে আমাদের লিস্টটি চেক করুন।
SSH সেটআপ করুন এবং লিনাক্সকে আরও শক্তিশালী করুন
SSH-এর সাথে, লিনাক্স উল্লেখযোগ্যভাবে আরও ফ্লেক্সিবল এবং শক্তিশালী হয়ে ওঠে। আপনি वस्तুতঃ একটি স্মার্টফোন ব্যবহার করে রিমোটলি একটি কম্পিউটার অ্যাক্সেস করতে পারেন SSH-এর 덕ে।
যদি SSH সঠিকভাবে সেটআপ থাকে, ক্লায়েন্ট এবং সার্ভার-সাইড সফটওয়্যার ইনেবল ও কনফিগার্ড থাকলে, রিমোট কমান্ড লাইন অ্যাক্সেস সম্ভব। আরও কিছু দরকার? উইন্ডোজ থেকে লিনাক্স ডেস্কটপ রিমোটলি কন্ট্রোল করার পদ্ধতি জানুন।