Skip to content
VDS · শুরু করা

পাঁচ মিনিটে SSH

সার্ভার টার্মিনালে আত্মবিশ্বাসের সাথে কাজ করার ন্যূনতম কমান্ড সেট: ফাইলে চলাচল, কনফিগ এডিট, সার্ভিস, লগ, এবং পারমিশন।

আপডেট: ২৩ আগস্ট, ২০২৬

মেশিন ম্যানেজ করতে আপনার পুরো Linux জানার দরকার নেই। প্রায় পনেরোটা কমান্ডই যথেষ্ট — সেগুলো নিচে দেওয়া হলো।

আমি কোথায় আছি আর চারপাশে কী আছে

pwd
ls -la
cd /etc/nginx
cat /etc/os-release

pwd — বর্তমান ডিরেক্টরি, ls -la — লুকানো ফাইল ও পারমিশনসহ বিষয়বস্তু, cd — ডিরেক্টরি পরিবর্তন। / দিয়ে শুরু হওয়া পাথ রুট থেকে গণনা করা হয়; ~ হলো হোম ডিরেক্টরি, রুটের জন্য তা /root।

কাজের ছোট ছোট টিপস: Tab নাম সম্পূর্ণ করে, উপরের তীর আগের কমান্ড আনে, Ctrl+C এক্সিকিউশন থামায়, Ctrl+D সেশন শেষ করে।

ফাইল ও ডিরেক্টরি

mkdir -p /opt/app/data
cp config.yml config.yml.bak
mv old.log /var/log/archive/
rm -f temp.txt
du -sh /var/log

rm -rf কিছু জিজ্ঞেস করে না এবং ফেরানোও যায় না। চালানোর আগে পাথটা আরেকবার পড়ুন — বিশেষ করে যদি তা / দিয়ে শুরু হয়।

কনফিগ এডিট করা

সহজ এডিটর হলো nano:

nano /etc/ssh/sshd_config

সেভ — Ctrl+O, তারপর Enter। বেরোনো — Ctrl+X। যদি nano ইনস্টল করা না থাকে:

apt install -y nano

প্রোডাকশন কনফিগ এডিট করার আগে একটা কপি করে নিন: cp file file.bak।

সার্ভিস

systemctl status nginx
systemctl restart nginx
systemctl enable --now nginx
systemctl disable --now nginx

enable মানে "মেশিন বুটের সময় চালু হবে", --now মানে "এখনইও"। enable ভুলে যাওয়াই রিবুটের পর সার্ভিস না ওঠার সবচেয়ে সাধারণ কারণ।

লগ

journalctl -u nginx -n 50 --no-pager
journalctl -xe
tail -f /var/log/syslog

প্রথমটি নির্দিষ্ট সার্ভিসের শেষ ৫০ লাইন, দ্বিতীয়টি সাম্প্রতিক সিস্টেম ইভেন্ট, তৃতীয়টি একটি ফাইলের লাইভ স্ট্রিম (Ctrl+C দিয়ে বেরোন)। কিছু কাজ না করলে রিবুট দিয়ে নয়, এখান থেকেই শুরু করুন।

প্যাকেজ

Debian ও Ubuntu-তে:

apt update && apt upgrade -y
apt install -y curl git ufw

AlmaLinux ও CentOS Stream-এ — apt-এর বদলে dnf, যা আলাদা আর্টিকেলে বলা আছে।

পারমিশন ও মালিক

chown -R www-data:www-data /var/www/site
chmod 600 /root/.ssh/authorized_keys
chmod +x deploy.sh

সংখ্যাটি হলো মালিক, গ্রুপ ও অন্যদের পারমিশন: 6 — পড়া ও লেখা, 4 — শুধু পড়া, 7 — সাথে এক্সিকিউট। কী ও সিক্রেটের জন্য 600 দরকার, নাহলে SSH সেগুলো ব্যবহার করতে অস্বীকার করবে।

রিসোর্স ও প্রসেস

free -h
df -h
ps aux | grep node
kill -9 12345

ভিজ্যুয়াল ছবির জন্য btop সুবিধাজনক, কিন্তু টেক্সট কনসোলের উপর তা ৮০×২৪-এ কেটে যাবে — SSH-এ বা মেশিন স্ক্রিনে চালান।

সাধারণ ভুল

  • কপি না করেই কনফিগ এডিট করে পরে আর মনে থাকে না কী বদলেছিল।
  • journalctl না পড়েই সার্ভিস রিস্টার্ট করে অন্ধভাবে ঠিক করার চেষ্টা করে।
  • "কাজ করানোর জন্য" সাইট ডিরেক্টরিতে chmod 777 বসায় — এটা সমাধান নয়, ফাঁক।
  • systemctl enable ভুলে যায় আর রিবুটের পর সার্ভিস হারায়।

পরবর্তী: ~/.ssh/config ফাইল আপনাকে লম্বা কানেকশন কমান্ড থেকে বাঁচাবে, আর গ্লসারি পরিভাষাগুলো বুঝিয়ে দেবে।