SSH দিয়ে Linux সার্ভারে কীভাবে সংযোগ করবেন
টার্মিনাল থেকে Linux সার্ভারে প্রবেশ, প্যাকেজ ইনস্টল, লগ দেখা, কোনো সার্ভিস রিস্টার্ট বা প্রজেক্ট আপলোড করার সময় SSH সংযোগ দরকার হয়। প্রথম সংযোগের জন্য দীর্ঘ তত্ত্ব শেখার প্রয়োজন নেই: সাধারণত একটি কমান্ড ও সঠিক অ্যাক্সেস তথ্যই যথেষ্ট।
প্রথমে দ্রুত সংযোগের পদ্ধতি দেখানো হবে। এরপর Windows, Linux ও macOS-এর সংক্ষিপ্ত নির্দেশনা, সাধারণ ত্রুটি এবং প্রাথমিক নিরাপত্তা নিয়ম থাকবে।
দ্রুত SSH দিয়ে Linux সার্ভারে সংযোগ
সার্ভারের IP ঠিকানা, ব্যবহারকারীর নাম এবং পাসওয়ার্ড বা কী থাকলে দীর্ঘ প্রস্তুতি দরকার নেই। বেশিরভাগ ক্ষেত্রে প্রথম লগইন একটি কমান্ডেই হয়:
ssh username@server_ipSSH সার্ভার স্ট্যান্ডার্ড নয় এমন পোর্টে শুনলে -p দিয়ে পোর্ট যোগ করুন:
ssh -p 2222 username@server_ipসার্ভার কী-ভিত্তিক লগইনের জন্য কনফিগার করা থাকলে ব্যক্তিগত কী-এর পথ দিন:
ssh -i ~/.ssh/id_ed25519 username@server_ipদ্রুত সার্ভারে ঢুকে কাজ শুরু করার জন্য এটুকুই যথেষ্ট। এরপর কোন তথ্য দরকার, বিভিন্ন অপারেটিং সিস্টেমে সংযোগের পার্থক্য এবং অ্যাক্সেস কীভাবে নিরাপদ করবেন তা বোঝা উপকারী।
সংযোগের জন্য কী কী দরকার
SSH বা Secure Shell হলো দূর থেকে সার্ভারের কমান্ড লাইন খোলার নিরাপদ পদ্ধতি। প্রথম সংযোগে সাধারণত দরকার হয়:
- সার্ভারের IP ঠিকানা বা ডোমেইন;
- ব্যবহারকারীর নাম, যেমন
root,ubuntu,adminবা অন্য অ্যাকাউন্ট; - পাসওয়ার্ড বা ব্যক্তিগত SSH কী;
- স্ট্যান্ডার্ড
22ব্যবহার না করলে SSH পোর্ট; - সার্ভারে SSH অ্যাক্সেস সক্রিয় থাকা।
সফলভাবে লগইন হলে দূরের Linux সার্ভারের টার্মিনালে পৌঁছাবেন এবং স্থানীয়ভাবে কাজ করার মতো কমান্ড চালাতে পারবেন।
সার্ভার কী ব্যবহার করলে
কী দিয়ে লগইনের সময় সার্ভার যাচাই করে আপনার ব্যক্তিগত কী সার্ভারে আগে যোগ করা পাবলিক কী-এর সঙ্গে মেলে কি না। এই পদ্ধতিতে পাসওয়ার্ড একেবারেই লাগতে নাও পারে। নিয়মিত কাজের জন্য এটি সাধারণত বেশি নিরাপদ ও সুবিধাজনক।
সাধারণ ধাপগুলো হলো:
- নিজের কম্পিউটারে একটি কী তৈরি করুন।
- পাবলিক কী সার্ভারে যোগ করুন।
- প্রতিবার পাসওয়ার্ড না লিখে
sshব্যবহার করে সংযোগ করুন।
Linux ও macOS-এ কী তৈরি করতে প্রায়ই ব্যবহার করা হয়:
ssh-keygen -t ed25519Linux ও macOS থেকে কীভাবে সংযোগ করবেন
Linux ও macOS-এ SSH সাধারণত আগে থেকেই ইনস্টল থাকে। টার্মিনাল খুলে চালান:
ssh username@server_ipঅন্য পোর্ট দরকার হলে:
ssh -p 2222 username@server_ipকী দিয়ে সংযোগের জন্য:
ssh -i ~/.ssh/id_ed25519 username@server_ipপ্রথম লগইনের পর আপনি সঠিক সার্ভারে ঢুকেছেন কি না তা সঙ্গে সঙ্গে যাচাই করা ভালো:
hostname
whoamiএটি সহজ কিন্তু কার্যকর অভ্যাস, বিশেষ করে একাধিক সার্ভার ও পরিবেশ পরিচালনা করলে।
Windows থেকে কীভাবে সংযোগ করবেন
Windows-এ দুটি বাস্তবসম্মত পদ্ধতি আছে: PowerShell বা Windows Terminal-এর বিল্ট-ইন OpenSSH এবং PuTTY-এর মতো আলাদা ক্লায়েন্ট। বেশিরভাগ কাজের জন্য বিল্ট-ইন পদ্ধতিই শুরু করার সহজ উপায়।
PowerShell খুলে চালান:
ssh username@server_ipপোর্ট স্ট্যান্ডার্ড না হলে:
ssh -p 2222 username@server_ipকী ব্যবহার করলে তার পথ দিন:
ssh -i $env:USERPROFILE\.ssh\id_ed25519 username@server_ipPuTTY-তেও একই যুক্তি: ঠিকানা, পোর্ট ও ব্যবহারকারীর নাম দিন এবং কী-ভিত্তিক প্রমাণীকরণের জন্য ক্লায়েন্ট সেটিংসে .ppk কী লোড করুন।
Windows-এ SSH চালু না হলে কী পরীক্ষা করবেন
কখনও বিল্ট-ইন SSH ক্লায়েন্ট ইনস্টল করা থাকে না। সে ক্ষেত্রে Windows সেটিংসে OpenSSH Client কম্পোনেন্ট সক্রিয় করুন অথবা সাময়িকভাবে PuTTY ব্যবহার করুন।
সংযোগের সময় সাধারণ ত্রুটি
বেশিরভাগ সময় সমস্যা কমান্ডে নয়, এর কোনো একটি প্যারামিটারে থাকে।
Connection refused
সাধারণত এর অর্থ সার্ভারে SSH সার্ভিস চলছে না বা পোর্ট বন্ধ। sshd চলছে কি না এবং প্রয়োজনীয় পোর্ট ফায়ারওয়াল ও সার্ভার কন্ট্রোল প্যানেলে খোলা কি না পরীক্ষা করুন।
Permission denied
সাধারণত ব্যবহারকারীর নাম, পাসওয়ার্ড বা কী ভুল। পরীক্ষা করুন:
- সঠিক লগইন নাম;
- কী-এর সঠিক পথ;
- পাবলিক কী সার্ভারে আছে কি না;
- সার্ভারের প্রত্যাশিত কী-এর সঙ্গে আপনার কী মেলে কি না।
Host key verification failed
এই বার্তাটি known_hosts-এর সঙ্গে সম্পর্কিত—SSH যে সার্ভারগুলোকে আগে থেকেই চেনে তাদের তালিকা। সিস্টেম পুনরায় ইনস্টল, IP পরিবর্তন বা সার্ভার নতুন করে তৈরি করার পর এটি দেখা যেতে পারে। সঠিক মেশিনে সংযোগ করছেন নিশ্চিত হলে পুরোনো এন্ট্রি মুছে দিন:
ssh-keygen -R server_ipএরপর আবার সংযোগ করে সার্ভারের নতুন কী নিশ্চিত করুন।
Could not resolve hostname
এর অর্থ DNS-এ হোস্টের নাম পাওয়া যাচ্ছে না অথবা ঠিকানায় বানান ভুল আছে। পরীক্ষা হিসেবে IP ঠিকানা দিয়ে সংযোগের চেষ্টা করুন।
আরও নিরাপদভাবে সংযোগের উপায়
SSH নিজেই সুরক্ষিত, তবে কয়েকটি মৌলিক সেটিং ভুল ও লগের অপ্রয়োজনীয় শব্দ কমায়।
পাসওয়ার্ডের বদলে SSH কী ব্যবহার করুন
নিয়মিত কাজের জন্য কী-ভিত্তিক প্রমাণীকরণ সাধারণত বেশি নির্ভরযোগ্য ও সুবিধাজনক। সার্ভার কী ব্যবহারের জন্য প্রস্তুত থাকলে শুরু থেকেই তা ব্যবহার করুন।
root হিসেবে লগইন বন্ধ করুন
প্রতিদিনের কাজে সরাসরি root হিসেবে লগইন করার দরকার নেই। সাধারণ ব্যবহারকারী হিসেবে সংযোগ করে প্রয়োজন হলেই sudo দিয়ে অধিকার বাড়ানো বেশি নিরাপদ।
অতিরিক্ত ব্যবস্থা হিসেবে স্ট্যান্ডার্ড পোর্ট বদলান
22 পোর্টের বদলে 2222-এর মতো অন্য পোর্ট ব্যবহার করা যায়। এতে সার্ভার আক্রমণের কাছে অদৃশ্য হয় না, তবে শুধু স্ট্যান্ডার্ড পোর্ট খোঁজা স্ক্যান ও বটের সংখ্যা কমে।
known_hosts পরীক্ষা করুন
SSH সার্ভারের কী পরিবর্তনের সতর্কতা দিলে বার্তাটি উপেক্ষা করবেন না। কারণ নিরীহ হতে পারে, আবার পরিচয় জালিয়াতির ইঙ্গিতও হতে পারে। সার্ভার সত্যিই পুনরায় ইনস্টল বা বদলানো হলে আগে কন্ট্রোল প্যানেল বা প্রশাসকের মাধ্যমে নিশ্চিত করুন, তারপর known_hosts-এর এন্ট্রি আপডেট করুন।
সার্ভার বাছাইয়ের সঙ্গে এর সম্পর্ক
VPS বা ডেডিকেটেড সার্ভার ভাড়া নিলে SSH আপনার প্রধান কাজের মাধ্যম হয়ে ওঠে। এর মাধ্যমে প্যাকেজ ইনস্টল, সিস্টেম আপডেট, Docker ডিপ্লয়, লগ পরীক্ষা এবং সার্ভিসের অবস্থা যাচাই করা হয়। অ্যাক্সেস স্থিতিশীল হলে অদ্ভুত লগইন সমস্যা খুঁজতে নয়, প্রকল্পে সময় দিতে পারবেন।
তাই হোস্টিং প্রদানকারী বাছাইয়ের সময় শুধু CPU, RAM ও ডিস্ক দেখবেন না। কত দ্রুত পরিষ্কার SSH অ্যাক্সেস পাবেন, সার্ভারের তথ্য দেখবেন এবং প্রশাসন শুরু করবেন তাও বিবেচনা করুন। এই কাজের জন্য tropic.host অপ্রয়োজনীয় প্রস্তুতি ছাড়াই VPS শুরু করার একটি বাস্তবসম্মত বিকল্প।
সংক্ষিপ্ত উপসংহার
SSH দিয়ে Linux সার্ভারে সংযোগ সাধারণত সহজ: একটি ঠিকানা, ব্যবহারকারী এবং পাসওয়ার্ড বা কী দরকার। Linux ও macOS-এ টার্মিনাল যথেষ্ট, Windows-এ বিল্ট-ইন OpenSSH বা PuTTY ব্যবহার করা যায়। সংযোগ ব্যর্থ হলে আগে পোর্ট, লগইন, কী ও known_hosts পরীক্ষা করুন, তারপর সার্ভারের সেটিং দেখুন। নিয়মিত কাজে SSH কী ব্যবহার করুন, root হিসেবে লগইন বন্ধ করুন এবং অতিরিক্ত ব্যবস্থা হিসেবে নন-স্ট্যান্ডার্ড পোর্ট ব্যবহার করুন।
FAQ
প্রথম সংযোগের জন্য SSH কমান্ডের কোন ফর্ম ব্যবহার করব?
সাধারণত ssh username@server_ip যথেষ্ট। SSH অন্য পোর্টে চললে -p যোগ করুন।
Windows থেকে SSH দিয়ে Linux সার্ভারে সংযোগ করা যায়?
হ্যাঁ। PowerShell বা Windows Terminal-এর বিল্ট-ইন ssh কমান্ড ব্যবহার করাই সহজ। বিকল্প হিসেবে PuTTY ব্যবহার করতে পারেন।
SSH নতুন সার্ভার কী নিশ্চিত করতে বললে কী করব?
সার্ভার সত্যিই পুনরায় ইনস্টল হলে বা IP ঠিকানা বদলালে এটি স্বাভাবিক। কারণ নিশ্চিত না হলে প্রথমে সঠিক মেশিনে সংযোগ করছেন কি না যাচাই করুন।
SSH কী পাসওয়ার্ডের চেয়ে ভালো কেন?
নিয়মিত কাজে কী সুবিধাজনক এবং সাধারণত বেশি নিরাপদ। এটি পরিচয়পত্র অনুমান করার ঝুঁকি কমায় এবং বারবার পাসওয়ার্ড না লিখে লগইন করতে দেয়।
SSH পোর্ট বদলানো কি বাধ্যতামূলক?
না, বাধ্যতামূলক নয়। তবে পোর্ট বদলানো বড় আকারের স্বয়ংক্রিয় স্ক্যানের বিরুদ্ধে অতিরিক্ত সুরক্ষা দেয়।
