সংযোগের আগে যা প্রস্তুত রাখবেন
SSH হলো আপনার কম্পিউটার ও সার্ভারের মধ্যে এনক্রিপ্ট করে কমান্ড আদান-প্রদানের উপায়। Linux VPS শুরু থেকেই SSH সার্ভার চালু অবস্থায় তৈরি হয়, আর ডিফল্ট পোর্ট 22। সংযোগের জন্য মাত্র তিনটি তথ্য লাগে।
- সার্ভারের IPv4 অ্যাড্রেস: সার্ভার পেজের ওভারভিউতে দেখা যায়।
- ইউজারনেম: প্রথমে root ব্যবহার করুন।
- root পাসওয়ার্ড: সার্ভার পেজের root পাসওয়ার্ড ঘরে দেখুন চাপলে দেখা যায়। সেট করার পর 7 দিন দেখা যায়, তাই পাসওয়ার্ড ম্যানেজারে সেভ করে রাখুন।
সার্ভারের অবস্থা চালু হয়ে গেলে সংযোগ করুন। সার্ভার তৈরি বা রিইনস্টল চলতে থাকলে ইনস্টল শেষ হওয়া পর্যন্ত একটু অপেক্ষা করুন। নিচের কমান্ডের YOUR_SERVER_IP আপনার সার্ভারের IPv4 অ্যাড্রেস দিয়ে বদলে লিখুন।
উপায় 1. PowerShell-এর বিল্ট-ইন ssh কমান্ড দিয়ে সংযোগ
Windows 10 ভার্সন 1809-এর পরে ও Windows 11-এ OpenSSH ক্লায়েন্ট ডিফল্টভাবে থাকে। আলাদা ইনস্টল ছাড়াই PowerShell বা Windows Terminal-এ Mac ও Linux-এর মতো হুবহু একই ssh কমান্ড ব্যবহার করুন।
ধাপ 1. PowerShell খুলুন
স্টার্ট মেনুতে PowerShell বা Terminal খুঁজে খুলুন। নিচের কমান্ড দিয়ে ssh প্রস্তুত আছে কি না দেখুন। OpenSSH-এর ভার্সন এক লাইনে দেখা গেলে প্রস্তুতি শেষ।
ssh -Vভার্সনের বদলে কমান্ড খুঁজে পাওয়া যায়নি এমন বার্তা এলে সেটিংসের ঐচ্ছিক ফিচার থেকে OpenSSH ক্লায়েন্ট যোগ করুন। Windows 11-এ সেটিংস > সিস্টেম > ঐচ্ছিক ফিচার, আর Windows 10-এ সেটিংস > অ্যাপ > ঐচ্ছিক ফিচারে আছে। অ্যাডমিন অধিকারের PowerShell-এ নিচের এক লাইনের কমান্ড দিয়েও যোগ করতে পারবেন।
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0ধাপ 2. সার্ভারে সংযোগ করুন
ssh root@YOUR_SERVER_IPপ্রথম সংযোগের সময় সার্ভারের ফিঙ্গারপ্রিন্ট সেভ করবেন কি না জিজ্ঞেস করা হয়। yes লিখে Enter চাপলে ফিঙ্গারপ্রিন্ট আপনার PC-র known_hosts ফাইলে সেভ হয়, আর পরের বার আর জিজ্ঞেস করা হয় না। এরপর password লেখার ঘর এলে সার্ভার পেজ থেকে কপি করা root পাসওয়ার্ড পেস্ট করুন।
Windows Terminal ও PowerShell উইন্ডোতে মাউসের ডান ক্লিক বা Ctrl+Shift+V দিয়ে পেস্ট করুন। লেখার সময় পাসওয়ার্ড স্ক্রিনে না দেখা স্বাভাবিক, তাই একবার পেস্ট করে Enter চাপুন। প্রম্পট root@servername:~# আকারে বদলে গেলে সংযোগ সফল।
ধাপ 3. প্রথম কমান্ড চালান
সংযোগ হওয়ামাত্র সিস্টেম আপডেট করে রাখা ভালো। Ubuntu ও Debian-এ apt update && apt upgrade -y, আর AlmaLinux ও Rocky Linux-এ dnf upgrade -y চালান। সাধারণ ইউজার তৈরি ও আপডেটের ক্রম প্রথম লগইন গাইড-এ বিস্তারিত আছে। কাজ শেষে exit দিয়ে সংযোগ বন্ধ করুন।
PowerShell থেকে SSH কী দিয়ে পাসওয়ার্ড ছাড়া সংযোগ
SSH কী ব্যবহার করলে প্রতিবার পাসওয়ার্ড পেস্ট করতে হয় না, আর পাসওয়ার্ড অনুমানের চেষ্টার বিরুদ্ধেও অনেক বেশি মজবুত থাকে। Windows-এও একই ssh-keygen কমান্ড দিয়ে কী তৈরি করুন।
ssh-keygen -t ed25519সেভের লোকেশন জিজ্ঞেস করলে Enter চেপে ডিফল্ট রাখুন, আর কী-এর পাসওয়ার্ড (passphrase) ঠিক করে রাখার পরামর্শ দিই। দুটি ফাইল C:\Users\YourName\.ssh ফোল্ডারে তৈরি হয়। id_ed25519 হলো প্রাইভেট কী, যা শুধু আপনার PC-তে থাকবে, আর id_ed25519.pub হলো সার্ভারে বসানোর পাবলিক কী। পাবলিক কী-এর বিষয়বস্তু নিচের কমান্ড দিয়ে দেখে কপি করুন।
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pubনতুন সার্ভার হলে অ্যাকাউন্টের SSH কী মেনুতে পাবলিক কী পেস্ট করুন, আর সার্ভার তৈরির সময় সেই কী বেছে নিলে শুরু থেকেই কী দিয়ে সংযোগ হয়। ধাপগুলো SSH কী গাইড-এ আছে। আগে থেকে চলা সার্ভারে নিচের এক লাইনের কমান্ড দিয়ে পাবলিক কী যোগ করুন। তখন একবার root পাসওয়ার্ড লিখতে হবে।
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@YOUR_SERVER_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"সার্ভার একাধিক হলে সংযোগের তথ্য নাম দিয়ে সেভ করে রাখা সুবিধাজনক। C:\Users\YourName\.ssh\config ফাইল নোটপ্যাডে তৈরি করে নিচের মতো লিখলে ssh myvps এক শব্দেই সংযোগ হয়।
Host myvps
HostName YOUR_SERVER_IP
User root
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 30ServerAliveInterval 30 প্রতি 30 সেকেন্ডে সিগন্যাল পাঠায়, তাই কিছুক্ষণ সরে গেলেও সংযোগ অনেকক্ষণ টিকে থাকে।
উপায় 2. PuTTY দিয়ে সংযোগ
PuTTY হলো Windows-এ বহুদিন ধরে ব্যবহৃত বিনামূল্যের SSH প্রোগ্রাম। সংযোগের তথ্য নাম অনুযায়ী সেভ করে ডাবল ক্লিকে খোলার পদ্ধতি সুবিধাজনক মনে হলে PuTTY ভালো মানায়। অফিসিয়াল সাইট (putty.org) থেকে 64-বিট ইনস্টল ফাইল (MSI) নামিয়ে ইনস্টল করলে PuTTY আর কী তৈরির PuTTYgen একসাথে চলে আসে।
ধাপ 1. সংযোগের তথ্য লেখা ও সেভ করা
- PuTTY খুললে Session স্ক্রিন আসে।
- Host Name-এ সার্ভারের IPv4 অ্যাড্রেস, Port-এ 22 লিখুন, আর Connection type SSH-ই রাখুন।
- বাঁ দিকের Connection > Data-র Auto-login username-এ root লিখুন।
- Connection-এর Seconds between keepalives-এ 30 লিখলে সংযোগ অনেকক্ষণ টিকে থাকে।
- আবার Session স্ক্রিনে ফিরে Saved Sessions-এ একটি নাম (যেমন: myvps) লিখে Save চাপুন।
ধাপ 2. সংযোগ
সেভ করা নাম বেছে Open চাপুন। প্রথমে সার্ভারের ফিঙ্গারপ্রিন্ট যাচাইয়ের উইন্ডো আসে, আর Accept চাপলে ফিঙ্গারপ্রিন্ট সেভ হয়। password ঘর এলে root পাসওয়ার্ড মাউসের ডান ক্লিকে পেস্ট করে Enter চাপুন। PuTTY-তে ডান ক্লিক মানে পেস্ট, আর লেখা টেনে সিলেক্ট করলেই কপি।
ধাপ 3. PuTTYgen দিয়ে SSH কী ব্যবহার
PuTTYgen খুলে Key ধরনে EdDSA (Ed25519) বেছে Generate চাপুন, আর প্রগ্রেস বার ভরা পর্যন্ত খালি জায়গার উপর মাউস নাড়ান। Key passphrase ঠিক করে Save private key দিয়ে প্রাইভেট কী .ppk ফাইল হিসেবে সেভ করুন।
উইন্ডোর উপরের Public key for pasting into OpenSSH authorized_keys file ঘরে দেখানো এক লাইনই পাবলিক কী। এই লাইন অ্যাকাউন্টের SSH কী মেনুতে রেজিস্টার করুন, বা আগে থেকে চলা সার্ভারের ~/.ssh/authorized_keys ফাইলের শেষে পেস্ট করুন। এরপর PuTTY-র Connection > SSH > Auth > Credentials-এ Private key file for authentication-এ .ppk ফাইল বেছে Session স্ক্রিনে আবার Save চাপলে পরের বার থেকে পাসওয়ার্ড ছাড়াই সংযোগ হয়।
PowerShell-এ তৈরি OpenSSH কী PuTTY-তেও ব্যবহার করতে চাইলে PuTTYgen-এর Conversions > Import key দিয়ে id_ed25519 এনে .ppk হিসেবে সেভ করুন। একটি কী দিয়েই দুই প্রোগ্রাম একসাথে ব্যবহার করুন।
Windows ও সার্ভারের মধ্যে ফাইল স্থানান্তর
PowerShell-এ ssh-এর সাথে scp কমান্ডও থাকে। আপনার PC-র ফাইল সার্ভারে আপলোড বা সার্ভারের ফাইল PC-তে ডাউনলোড করার সময় এটি ব্যবহার করুন।
scp .\site.zip root@YOUR_SERVER_IP:/root/
scp root@YOUR_SERVER_IP:/root/backup.tar.gz .\পুরো ফোল্ডার স্থানান্তরে scp -r যোগ করুন। এক্সপ্লোরারের মতো টেনে এনে ছাড়ার পদ্ধতি সুবিধাজনক হলে WinSCP-এর মতো SFTP প্রোগ্রামে একই অ্যাড্রেস, পোর্ট 22 ও ইউজার root লিখুন। WinSCP PuTTY-তে সেভ করা সেশন ও .ppk কী সরাসরি আনতে পারে।
সংযোগ না হলে যাচাইয়ের ক্রম
বেশিরভাগ সময় নিচের চারটির একটি কারণ, তাই ক্রম অনুযায়ী দেখলে দ্রুত আবার সংযোগ হয়।
- Connection timed out: আগে দেখুন সার্ভারের অবস্থা চালু কি না আর IP অ্যাড্রেস সঠিক কি না। ফায়ারওয়াল চালু করে থাকলে SSH (পোর্ট 22) অনুমোদিত থাকতে হবে। অফিস বা স্কুলের নেটওয়ার্ক পোর্ট 22 বন্ধ রাখতে পারে, তাই মোবাইল টেথারিংয়ের মতো অন্য নেটওয়ার্কে একবার চেষ্টা করুন।
- Permission denied: পাসওয়ার্ড আবার কপি করে একবার পেস্ট করুন। সামনে বা পেছনে ফাঁকা জায়গা কপি হয়ে গেছে কি না দেখুন। 7 দিন পেরিয়ে পাসওয়ার্ড দেখা না গেলে সার্ভার পেজের নতুন root পাসওয়ার্ড তৈরি দিয়ে নতুন পাসওয়ার্ড নিন।
- REMOTE HOST IDENTIFICATION HAS CHANGED: সার্ভার রিইনস্টল করলে সার্ভারের ফিঙ্গারপ্রিন্ট নতুন করে তৈরি হয়, তাই এই বার্তা আসে।
ssh-keygen -R YOUR_SERVER_IPদিয়ে সেভ করা পুরনো ফিঙ্গারপ্রিন্ট মুছে আবার সংযোগ করুন। - Connection refused: সার্ভারের ভেতরের SSH সার্ভিস থেমে গেছে বা পোর্ট বদলানো হয়েছে। পোর্ট বদলে থাকলে
ssh -p PORT root@YOUR_SERVER_IPদিয়ে সংযোগ করুন।
পাসওয়ার্ড নতুন করে তৈরি ও রিইনস্টলের পরের সংযোগের ধাপ রিইনস্টল ও root পাসওয়ার্ড গাইড-এ গুছিয়ে দেওয়া আছে। সংযোগ সফল হলে মৌলিক ফায়ারওয়াল গাইড অনুসরণ করে শুধু ব্যবহৃত পোর্ট খোলা রাখুন।
এরপর করে রাখার মতো কাজ
SSH কী দিয়ে সংযোগ হলে পাসওয়ার্ড লগইন বন্ধ করে সার্ভার আরও মজবুতভাবে সুরক্ষিত রাখতে পারবেন। আগে কী দিয়ে সংযোগ যাচাই করুন, তারপর সার্ভারে /etc/ssh/sshd_config ফাইলের PasswordAuthentication no করে SSH সার্ভিস রিস্টার্ট করুন। Ubuntu ও Debian-এ systemctl restart ssh, আর AlmaLinux-এ systemctl restart sshd।
ওয়েবসাইট বা অ্যাপ চালুর পরিকল্পনা থাকলে Docker ইনস্টল গাইড বা WordPress ইনস্টল গাইড-এ এগিয়ে যান। Windows ডেস্কটপ লাগে এমন কাজে রিমোট ডেস্কটপে সংযোগ করা Windows VPS বেশি মানায়।
