পাঁচ মিনিটে 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 ফাইল আপনাকে লম্বা কানেকশন কমান্ড থেকে বাঁচাবে, আর গ্লসারি পরিভাষাগুলো বুঝিয়ে দেবে।