অপারেটিং সিস্টেম

SSH কমান্ড দিয়ে লিনাক্স সার্ভার ম্যানেজমেন্ট: ওয়েবমাস্টারদের জন্য দরকারি বেসিক কোড

  • 13 পড়তে মিনিট
  • Hostragons টিম
SSH কমান্ড দিয়ে লিনাক্স সার্ভার ম্যানেজমেন্ট: ওয়েবমাস্টারদের জন্য দরকারি বেসিক কোড

SSH কমান্ড দিয়ে লিনাক্স সার্ভার ম্যানেজমেন্ট, একজন ওয়েবমাস্টারের দূরবর্তী লিনাক্স সার্ভারে নিরাপদে সংযোগ স্থাপন করে ফাইল, সার্ভিস, ব্যবহারকারী, লগ, নিরাপত্তা ও পারফরম্যান্স সবকিছু টার্মিনাল থেকে নিয়ন্ত্রণ করার প্রক্রিয়া। সাধারণ কাজের জন্য ssh user@server-ip কমান্ড দিয়ে সংযোগ করা হয়; ls, cd, pwd, cp, mv, rm, nano, systemctl, journalctl, top, df, du, chmod, chown, tar, scp ও rsync-এর মতো কমান্ড ব্যবহার করে ওয়েবসাইট লাইভ করা, সমস্যা খুঁজে বের করা, সার্ভিস রিস্টার্ট করা এবং ব্যাকআপ নেওয়া যায়। এই গাইডটি বিশেষ করে হোস্টিং, VPS বা ডেডিকেটেড সার্ভার ব্যবহারকারী ওয়েবমাস্টারদের দৈনন্দিন কাজে সবচেয়ে বেশি প্রয়োজনীয় কমান্ডগুলো বাস্তব উদাহরণসহ ব্যাখ্যা করে।

শুধু কন্ট্রোল প্যানেল দিয়ে সাইট ম্যানেজ করা অনেক সময় যথেষ্ট হলেও, ট্রাফিক বাড়লে, কাস্টম সফটওয়্যার লাগলে, এরর লগ দেখতে হলে বা জরুরি সমস্যা সমাধানে SSH জানা বড় সুবিধা দেয়। যেমন ওয়ার্ডপ্রেস সাইটে 500 এরর দেখলে প্যানেল খোলার জন্য অপেক্ষা না করে কয়েকটি কমান্ডেই ডিস্ক ফুল, PHP-FPM অবস্থা, Nginx/Apache লগ এবং সাম্প্রতিক পরিবর্তিত ফাইলগুলো মিনিটের মধ্যে চেক করা যায়। এতে ডাউনটাইম কমে এবং SEO পারফরম্যান্সও ভালো থাকে। সার্ভার নির্বাচনের সময় ভিপিএস সার্ভার এবং ওয়েব হোস্টিং অপশন দুটো আপনার প্রয়োজন অনুযায়ী তুলনা করে দেখুন।

SSH কী এবং ওয়েবমাস্টারদের কাছে এর গুরুত্ব কেন?

SSH হলো Secure Shell-এর সংক্ষিপ্ত রূপ। এটি দূরবর্তী সার্ভারে এনক্রিপ্টেড সংযোগ তৈরি করার নিরাপদ প্রোটোকল। FTP শুধু ফাইল আদান-প্রদানের জন্য ব্যবহৃত হলেও SSH আপনাকে সার্ভারের কমান্ড লাইন দেয়। এর মাধ্যমে ওয়েব রুট ফোল্ডারে যাওয়া, পারমিশন ঠিক করা, সার্ভিস রিস্টার্ট করা, ফায়ারওয়াল চেক করা, ডাটাবেস ব্যাকআপ নেওয়া এবং লগ ফাইল রিয়েল টাইমে দেখা সম্ভব।

ওয়েবমাস্টারের জন্য SSH জানার তিনটি বড় সুবিধা আছে। প্রথমত গতি—বড় ফাইল প্যানেল দিয়ে ডাউনলোড করার বদলে সার্ভারের ভিতরেই কম্প্রেস করলে সময় অনেক কম লাগে। দ্বিতীয়ত স্বচ্ছতা—লগ, CPU, RAM ও ডিস্কের অবস্থা সরাসরি দেখা যায়। তৃতীয়ত নিয়ন্ত্রণ—পারমিশন জটিলতা বা সার্ভিস ডাউন হলে তাৎক্ষণিক সমাধান করা যায়। বিশেষ করে VPS, ক্লাউড ও ডেডিকেটেড সার্ভারে SSH প্রায় বাধ্যতামূলক দক্ষতা।

SSH সংযোগ করার আগে যা জানা দরকার

SSH সংযোগের জন্য সাধারণত তিনটি তথ্য লাগে: সার্ভারের IP বা ডোমেইন, ব্যবহারকারীর নাম এবং অথেনটিকেশন পদ্ধতি। ডিফল্ট পোর্ট বেশিরভাগ লিনাক্স সিস্টেমে ২২। নিরাপত্তার জন্য ভিন্ন পোর্টও ব্যবহার করা যায়। সাধারণ সংযোগ কমান্ড: ssh user@server-ip। পোর্ট আলাদা হলে ssh -p 2222 user@server-ip লিখতে হয়।

প্রথমবার সংযোগ করলে টার্মিনাল সার্ভারের ফিঙ্গারপ্রিন্ট দেখিয়ে নিশ্চিত করতে বলে। এটি সঠিক সার্ভারে ঢুকছেন কিনা তা যাচাই করার জন্য। Yes লিখে এগোলে সার্ভারের রেকর্ড আপনার কম্পিউটারের known_hosts ফাইলে সেভ হয়ে যায়। পরে সার্ভার পরিবর্তন হলে বা IP বদলালে সতর্কবার্তা আসতে পারে—তখন আগে ভালো করে যাচাই করে নিন।

পাসওয়ার্ড বনাম SSH কী-এর পার্থক্য

পাসওয়ার্ড দিয়ে লগইন সহজ কিন্তু ব্রুট ফোর্স আক্রমণের ঝুঁকি বেশি। SSH কী-তে আপনার কম্পিউটারে প্রাইভেট কী এবং সার্ভারে পাবলিক কী থাকে, যা অনেক নিরাপদ। কী তৈরি করতে ssh-keygen -t ed25519 কমান্ড ব্যবহার করুন। পাবলিক কী সার্ভারে কপি করতে ssh-copy-id user@server-ip চালান। কী সেটআপ হয়ে গেলে পাসওয়ার্ড লগইন বন্ধ করে দিলে নিরাপত্তা অনেক বেড়ে যায়।

পাসওয়ার্ড বনাম SSH কী-এর পার্থক্য
পদ্ধতিসুবিধাঝুঁকিকখন ব্যবহার করবেন
পাসওয়ার্ড দিয়ে SSHদ্রুত সেটআপদুর্বল পাসওয়ার্ডে আক্রমণের আশঙ্কা বেশিঅস্থায়ী অ্যাক্সেস ও প্রথমবার সেটআপ
SSH কীঅনেক নিরাপদ ও অটোমেশনের জন্য উপযোগীপ্রাইভেট কী সুরক্ষিত না রাখলে সমস্যা হতে পারেদীর্ঘমেয়াদি সার্ভার ম্যানেজমেন্ট
ভিন্ন পোর্টবট স্ক্যান কমায়একা যথেষ্ট নিরাপত্তা দেয় নাকী ও ফায়ারওয়ালের সাথে একসাথে
রুট লগইন বন্ধঅপব্যবহারের সম্ভাবনা কমায়ভুল sudo সেটিংয়ে অ্যাক্সেস কঠিন হতে পারেপ্রোডাকশন সার্ভারে

বেসিক নেভিগেশন ও ফাইল দেখার কমান্ড

লিনাক্স টার্মিনালে প্রথমে শেখার কমান্ডগুলো হলো বর্তমান ফোল্ডার দেখা, ফোল্ডার বদলানো ও ফাইল লিস্ট করা। pwd কমান্ডে আপনি কোন ডিরেক্টরিতে আছেন তা দেখায়। cd /var/www/html দিয়ে ওয়েব রুটে যাওয়া যায়। cd .. এক ধাপ উপরে যায়, cd লিখলে হোম ডিরেক্টরিতে ফিরে আসে। ls দিয়ে ফাইল দেখা যায়; ls -la দিলে লুকানো ফাইলসহ পারমিশন, মালিক, সাইজ ও তারিখ সব দেখায়।

ওয়েবমাস্টারদের জন্য .htaccess, wp-config.php, robots.txt, sitemap.xml ও index.php-এর মতো ফাইল দ্রুত খুঁজে পাওয়া জরুরি। ls -lah কমান্ডে ফাইলের সাইজ সহজে পড়া যায় (যেমন ১০৪৮৫৭৬ এর বদলে ১.০M দেখায়)। ls -lt দিলে সবচেয়ে নতুন পরিবর্তিত ফাইল উপরে দেখায়—যা হ্যাকের পর বা নতুন প্লাগইন যোগ করার পর চেক করতে সুবিধা দেয়।

বাস্তব উদাহরণ: ওয়েব রুট ডিরেক্টরি চেক করা

সাধারণত সাইটের ফাইল /var/www, /home/user/public_html বা /usr/share/nginx/html-এর নিচে থাকে। উদাহরণ প্রক্রিয়া: pwd দিয়ে অবস্থান দেখুন, cd /var/www/siteadi দিয়ে সাইট ফোল্ডারে যান, ls -lah দিয়ে ফাইল লিস্ট করুন, du -sh . দিয়ে মোট সাইজ চেক করুন। একাধিক সাইট থাকলে প্রত্যেক সাইট আলাদা ব্যবহারকারী ও আলাদা ডিরেক্টরিতে রাখা নিরাপত্তা ও রক্ষণাবেক্ষণের জন্য ভালো। ডোমেইন সংক্রান্ত কাজের জন্য ডোমেইন কোয়েরি এবং সাইট লাইভ করার জন্য হোস্টিং সেটআপ গাইড দেখুন।

ফাইল ও ফোল্ডার অপারেশন: তৈরি, কপি, সরানো, মুছে ফেলা

ফাইল তৈরি করতে touch filename.txt, ফোল্ডার তৈরি করতে mkdir foldername লিখুন। একাধিক লেভেলের ফোল্ডার একসাথে তৈরি করতে mkdir -p backups/2026/january ব্যবহার করুন। ফাইল কপি করতে cp source destination, ফোল্ডার কপি করতে cp -r source-folder destination-folder লিখুন। নাম বদলাতে বা সরাতে mv oldname newname কমান্ড ব্যবহার করুন।

মুছে ফেলার কমান্ড সতর্কতার সাথে ব্যবহার করুন। rm file.txt একটি ফাইল মুছে দেয়, rm -r foldername পুরো ফোল্ডার মুছে দেয়। rm -rf দিলে কোনো প্রশ্ন না করে জোর করে মুছে ফেলে—ভুল ডিরেক্টরিতে চালালে বড় ক্ষতি হতে পারে। প্রোডাকশন সার্ভারে rm -rf চালানোর আগে অবশ্যই pwd ও ls দিয়ে নিশ্চিত হয়ে নিন। গুরুত্বপূর্ণ কাজের আগে tar বা rsync দিয়ে দ্রুত ব্যাকআপ নিলে অনেক সময় বাঁচানো যায়।

নিরাপদ মুছে ফেলার অভ্যাস

নতুনদের জন্য সবচেয়ে নিরাপদ উপায় হলো সরাসরি মুছে না দিয়ে প্রথমে সন্দেহজনক ফাইল কোয়ারেন্টিন ফোল্ডারে সরিয়ে রাখা। mkdir /root/quarantine ও mv suspicious-file.php /root/quarantine/ কমান্ড দিয়ে ফাইলকে আলাদা করে রাখুন। সাইট স্বাভাবিক চললে পরে স্থায়ীভাবে মুছে দিতে পারবেন। এই পদ্ধতি ম্যালওয়্যার পরিষ্কার, প্লাগইন অপসারণ ও থিম পরিবর্তনের সময় বিশেষভাবে কার্যকর।

ফাইলের ভিতরের কনটেন্ট দেখা ও এডিট করার কমান্ড

পুরো ফাইল দেখতে cat filename.txt, পেজ করে দেখতে less filename.txt ব্যবহার করুন। বড় লগ ফাইলে cat ব্যবহার করলে টার্মিনাল ভরে যায়—তাই less ভালো। প্রথম কয়েক লাইন দেখতে head, শেষের লাইন দেখতে tail কমান্ড চালান। লাইভ লগ দেখতে tail -f /var/log/nginx/error.log অত্যন্ত কার্যকর।

ফাইল এডিট করতে nano, vim বা micro এডিটর ব্যবহার করা যায়। নতুনদের জন্য nano সবচেয়ে সহজ। nano .htaccess লিখে ফাইল খুলুন, এডিট শেষে Ctrl+O দিয়ে সেভ করে Ctrl+X দিয়ে বেরিয়ে আসুন। PHP কনফিগারেশন, Nginx সার্ভার ব্লক বা robots.txt এডিট করার সময় ছোট ভুলও সাইটকে প্রভাবিত করতে পারে। পরিবর্তনের আগে cp file file.bak করে ব্যাকআপ রাখা ভালো অভ্যাস।

অনুমতি ও মালিকানা ম্যানেজমেন্ট: chmod ও chown

লিনাক্স সার্ভারে ফাইল পারমিশন ওয়েবসাইটের কাজ ও নিরাপত্তার জন্য অত্যন্ত গুরুত্বপূর্ণ। chmod দিয়ে পারমিশন, chown দিয়ে মালিকানা বদলানো হয়। সাধারণত ফোল্ডারের জন্য ৭৫৫ এবং ফাইলের জন্য ৬৪৪ ব্যবহৃত হয়। chmod 644 wp-config.php দিয়ে ফাইলের পারমিশন ঠিক করুন। একসাথে সব ফোল্ডারে পারমিশন দিতে find . -type d -exec chmod 755 {} \; এবং ফাইলের জন্য find . -type f -exec chmod 644 {} \; ব্যবহার করুন।

মালিকানার ক্ষেত্রে chown -R www-data:www-data /var/www/siteadi কমান্ড চালানো হয় (ডিস্ট্রিবিউশন অনুযায়ী পরিবর্তন হতে পারে)। উবুন্টুতে Apache/Nginx সাধারণত www-data ব্যবহার করে। ভুল মালিকানা আপলোড সমস্যা বা ৪০৩ এরর তৈরি করতে পারে। ৭৭৭ এর মতো অতিরিক্ত পারমিশন স্বল্পমেয়াদে সমস্যা সমাধান করলেও নিরাপত্তার ঝুঁকি বাড়ায়। বিশেষ করে আপলোড ডিরেক্টরিতে এক্সিকিউটেবল ফাইল ব্লক করা জরুরি।

ডিস্ক, RAM ও CPU চেক করার বেসিক কমান্ড

পারফরম্যান্স সমস্যায় প্রথমে রিসোর্স ব্যবহার দেখুন। df -h দিয়ে ডিস্ক পার্টিশনের পূর্ণতা দেখা যায়। রুট পার্টিশন ১০০% ফুল হলে সার্ভিস লগ লিখতে পারে না, ডাটাবেস লক হয়ে যায় এবং সাইট ৫০০ এরর দেখায়। du -sh * দিয়ে বর্তমান ডিরেক্টরির ফোল্ডার সাইজ দেখুন। বড় লগ বা ক্যাশ ফাইল খুঁজতে du -ah /var/www | sort -h | tail কমান্ড কার্যকর।

RAM ও CPU দেখতে top বা htop ব্যবহার করুন। htop ইনস্টল না থাকলে apt install htop বা dnf install htop দিয়ে ইনস্টল করুন। free -m দিয়ে RAM ও সোয়াপের অবস্থা দেখুন। uptime দিয়ে সিস্টেম কতক্ষণ চলছে এবং লোড অ্যাভারেজ জানা যায়। এক কোর সার্ভারে লোড দীর্ঘক্ষণ ১-এর উপরে থাকা বা মাল্টি-কোর সার্ভারে কোর সংখ্যা ছাড়িয়ে যাওয়া পারফরম্যান্স সমস্যার ইঙ্গিত দেয়। ট্রাফিক বাড়লে আরও শক্তিশালী প্ল্যান বা অপটিমাইজেশন দরকার হতে পারে—লিনাক্স VPSকর্পোরেট হোস্টিং দেখুন।

সার্ভিস ম্যানেজমেন্ট: systemctl দিয়ে Apache, Nginx, PHP ও MySQL নিয়ন্ত্রণ

আধুনিক লিনাক্স ডিস্ট্রিবিউশনে systemctl দিয়ে সার্ভিস ম্যানেজ করা হয়। সার্ভিসের অবস্থা দেখতে systemctl status nginx, রিস্টার্ট করতে systemctl restart nginx, রিলোড করতে systemctl reload nginx কমান্ড ব্যবহার করুন। Apache-এর ক্ষেত্রে apache2 বা httpd, PHP-FPM-এ php8.2-fpm, MySQL-এ mysql বা mariadb নাম হতে পারে।

প্রতি রিস্টার্টের আগে কনফিগারেশন টেস্ট করা ভালো অভ্যাস। Nginx-এ nginx -t, Apache-এ apachectl configtest চালান। টেস্ট ফেল হলে রিস্টার্ট করলে সাইট ডাউন হতে পারে। ভুল সেমিকোলন থাকলে nginx -t লাইন নম্বরসহ এরর দেখায়। আগে সমস্যা ঠিক করে তারপর রিলোড করুন।

ওয়েবমাস্টারদের জন্য দ্রুত সার্ভিস চেকলিস্ট

  • সাইট না খুললে প্রথমে পিং না করে সার্ভারে systemctl status ওয়েব-সার্ভিস চেক করুন।
  • ৫০২ এরর হলে PHP-FPM স্ট্যাটাস ও Nginx এরর লগ দেখুন।
  • ডাটাবেস কানেকশন এরর হলে systemctl status mysql ও ডিস্ক স্পেস চেক করুন।
  • কনফিগারেশন পরিবর্তন করলে রিস্টার্টের বদলে সম্ভব হলে রিলোড ব্যবহার করুন।
  • প্রতি পরিবর্তনের আগে ফাইলের .bak কপি রাখুন।

লগ পরীক্ষা: এররের উৎস মিনিটের মধ্যে খুঁজে বের করা

লগ ফাইল সার্ভারের ব্ল্যাক বক্সের মতো। Nginx-এ /var/log/nginx/access.log ও /var/log/nginx/error.log, Apache-এ /var/log/apache2/access.log ও /var/log/apache2/error.log ব্যবহৃত হয়। PHP-FPM লগ /var/log/php8.2-fpm.log বা journalctl-এ থাকতে পারে। MySQL লগ /var/log/mysql/error.log-এ পাওয়া যায়।

journalctl -xe দিয়ে সাম্প্রতিক সিস্টেম এরর দেখুন। নির্দিষ্ট সার্ভিসের জন্য journalctl -u nginx -n 100 লিখলে শেষ ১০০টি এন্ট্রি দেখায়। লাইভ দেখতে journalctl -u php8.2-fpm -f ব্যবহার করুন। নির্দিষ্ট শব্দ খুঁজতে grep কমান্ড চালান। grep 500 access.log দিয়ে ৫০০ স্ট্যাটাস কোড পাওয়া যায়।

SEO-এর জন্য লগ অ্যানালাইসিস শুধু এরর সমাধান নয়, বরং ক্রল বাজেট ও বট আচরণ বোঝার জন্যও গুরুত্বপূর্ণ। Googlebot কোন পেজ ভিজিট করছে, কোন URL-এ ৪০৪ বেশি হচ্ছে তা access log থেকে বোঝা যায়। টেকনিক্যাল SEO অডিটের জন্য SEO উপযোগী হোস্টিংWeb Sitesi Hiz Optimizasyonu দেখুন।

অনুসন্ধান, ফিল্টার ও টেক্সট প্রসেসিং কমান্ড

অনুসন্ধান, ফিল্টার ও টেক্সট প্রসেসিং কমান্ড

সার্ভারে ফাইল বা টেক্সট খুঁজতে find, grep, awk ও sed খুব শক্তিশালী। find /var/www -name wp-config.php দিয়ে নির্দিষ্ট ফাইল খুঁজে পাওয়া যায়। find . -type f -mtime -1 দিয়ে গত ২৪ ঘণ্টায় পরিবর্তিত ফাইল দেখায়—যা অননুমোদিত পরিবর্তন সন্দেহে খুব কাজে লাগে। grep -R base64_decode . দিয়ে বর্তমান ডিরেক্টরিতে base64_decode থাকা ফাইল খুঁজুন।

লগ অ্যানালাইসিসে awk দিয়ে নির্দিষ্ট কলাম আলাদা করা যায়। অতিরিক্ত বট ট্রাফিক বা brute force চেষ্টা বোঝার জন্য IP কলাম নিয়ে sort ও uniq -c দিয়ে গণনা করুন। এই ধরনের অ্যানালাইসিস early warning হিসেবে কাজ করে।

ফাইল ট্রান্সফার: scp, sftp ও rsync

SSH শুধু কমান্ড চালানোর জন্য নয়, ফাইল ট্রান্সফারের জন্যও ব্যবহৃত হয়। scp local-file user@server-ip:/destination/path দিয়ে ফাইল সার্ভারে পাঠানো যায়। সার্ভার থেকে নিতে scp user@server-ip:/file/path ./ লিখুন। বড় ফোল্ডারের জন্য rsync অনেক দক্ষ কারণ অপরিবর্তিত ফাইল আবার পাঠায় না।

rsync -avz source/ user@server-ip:/destination/ কমান্ড আর্কাইভ মোডে, কম্প্রেস করে ও বিস্তারিতভাবে ট্রান্সফার করে। --delete অপশন সতর্কতার সাথে ব্যবহার করুন। ওয়ার্ডপ্রেস মাইগ্রেশন, স্টেজিং থেকে লাইভে ফাইল পাঠানো বা ব্যাকআপ সিঙ্ক করার জন্য rsync চমৎকার। SSL ইনস্টল বা HTTPS মাইগ্রেশনের সময় SSL Sertifikasi দেখুন।

ব্যাকআপ নেওয়া ও রিস্টোর করার SSH কমান্ড

ব্যাকআপ হলো সার্ভার ম্যানেজমেন্টের বীমা। ফাইল ব্যাকআপের জন্য tar -czf site-backup.tar.gz /var/www/siteadi কমান্ড চালান। এটি ডিরেক্টরিকে gzip কম্প্রেস করে আর্কাইভ করে। আর্কাইভ খুলতে tar -xzf site-backup.tar.gz ব্যবহার করুন। বড় সাইটের ক্ষেত্রে ব্যাকআপ ওয়েব ডিরেক্টরির বাইরে ও সম্ভব হলে রিমোট স্টোরেজে রাখুন।

ডাটাবেস ব্যাকআপের জন্য mysqldump -u user -p dbname > backup.sql কমান্ড জনপ্রিয়। রিস্টোর করতে mysql -u user -p dbname < backup.sql লিখুন। বড় ডাটাবেসের ক্ষেত্রে screen বা tmux ব্যবহার করলে কানেকশন বিচ্ছিন্ন হলেও প্রক্রিয়া চলতে থাকে।

নিরাপত্তার জন্য গুরুত্বপূর্ণ SSH সেটিংস

SSH নিরাপত্তা সার্ভার নিরাপত্তার প্রথম দরজা। প্রথম পরামর্শ: সরাসরি রুট লগইন বন্ধ করুন। তার বদলে sudo অধিকারসহ সাধারণ ব্যবহারকারী তৈরি করুন। adduser webmaster দিয়ে ইউজার যোগ করুন, usermod -aG sudo webmaster দিয়ে sudo অধিকার দিন। তারপর /etc/ssh/sshd_config ফাইলে PermitRootLogin no ও PasswordAuthentication no সেট করুন।

পরিবর্তনের পর sshd কনফিগারেশন টেস্ট করুন এবং নতুন টার্মিনাল দিয়ে সংযোগ যাচাই করুন। ভুল সেটিং করলে সার্ভার থেকে লক হয়ে যেতে পারেন। ফায়ারওয়ালে ufw allow 2222/tcp ও ufw enable দিয়ে শুধু প্রয়োজনীয় পোর্ট খুলুন।

ন্যূনতম নিরাপত্তা চেকলিস্ট

  • শক্তিশালী পাসওয়ার্ড অথবা SSH কী ব্যবহার করুন।
  • রুট লগইন বন্ধ রাখুন এবং sudo ইউজার তৈরি করুন।
  • অপ্রয়োজনীয় সার্ভিস বন্ধ রাখুন এবং শুধু দরকারি পোর্ট খুলুন।
  • নিয়মিত সিস্টেম আপডেট করুন: apt update ও apt upgrade।
  • লগ নিয়মিত দেখুন; সন্দেহজনক IP-এর জন্য fail2ban ব্যবহার করুন।
  • ব্যাকআপ একই সার্ভারে একাধিক কপি রাখবেন না।

প্যাকেজ ম্যানেজমেন্ট ও আপডেট কমান্ড

উবুন্টু/ডেবিয়ানে apt, RHEL-ভিত্তিক সিস্টেমে dnf বা yum ব্যবহৃত হয়। apt update দিয়ে প্যাকেজ লিস্ট আপডেট করুন, apt upgrade দিয়ে ইনস্টল করা প্যাকেজ আপগ্রেড করুন। নির্দিষ্ট প্যাকেজ ইনস্টল করতে apt install nginx, অপসারণ করতে apt remove package-name ব্যবহার করুন।

লাইভ সার্ভারে এলোপাতাড়ি আপডেট না করে মেইনটেন্যান্স উইন্ডোতে করুন। PHP, MySQL, OpenSSL আপডেট সাইটের আচরণ পরিবর্তন করতে পারে। নিরাপত্তা আপডেট দেরি না করাই ভালো, তবে আগে ব্যাকআপ নিন এবং সম্ভব হলে স্টেজিং এনভায়রনমেন্টে টেস্ট করুন।

ওয়েবমাস্টারদের জন্য জরুরি হস্তক্ষেপের উদাহরণ ফ্লো

সকালে সাইট না খুললে আতঙ্কিত না হয়ে স্ট্যান্ডার্ড প্রক্রিয়া অনুসরণ করুন। প্রথমে SSH দিয়ে সংযোগ করুন। uptime দিয়ে সার্ভার রেসপন্স দিচ্ছে কিনা ও লোড দেখুন। df -h দিয়ে ডিস্ক চেক করুন। free -m ও top দিয়ে RAM ও CPU দেখুন। তারপর systemctl status nginx দিয়ে ওয়েব সার্ভিসের অবস্থা দেখুন। ৫০২ এরর হলে PHP-FPM চেক করুন। ডাটাবেস সমস্যা হলে systemctl status mysql ও লগ দেখুন।

এরপর tail -n 100 এরর লগ দিয়ে সাম্প্রতিক এরর পড়ুন। নতুন প্লাগইন বা থিম আপডেটের পর সমস্যা হলে ls -lt দিয়ে সর্বশেষ পরিবর্তিত ফাইল খুঁজুন। প্রয়োজনে সাময়িকভাবে ফোল্ডারের নাম বদলে দিন। ডিস্ক ফুল হলে পুরনো লগ ও অপ্রয়োজনীয় ব্যাকআপ খুঁজে বের করুন। এই ধাপগুলো বেশিরভাগ সাধারণ ডাউনটাইম সমস্যা ৫-১৫ মিনিটের মধ্যে সমাধানে সাহায্য করে।

SSH কমান্ড ব্যবহারের সময় সাধারণ ভুল

সবচেয়ে বড় ভুল হলো কমান্ডের অর্থ না বুঝে কপি-পেস্ট করে চালানো। ইন্টারনেটে পাওয়া সব কমান্ড আপনার সার্ভারের জন্য উপযুক্ত নাও হতে পারে। বিশেষ করে rm -rf, chmod -R 777, chown -R ও ডাটাবেস ডিলিট কমান্ড ঝুঁকিপূর্ণ। দ্বিতীয় ভুল: সবসময় রুট ইউজার দিয়ে কাজ করা। রুট প্রয়োজন হলে sudo ব্যবহার করুন।

তৃতীয় ভুল: ব্যাকআপ ছাড়া পরিবর্তন করা। সাধারণ কনফিগারেশন ফাইলও সাইট বন্ধ করে দিতে পারে। চতুর্থ ভুল: লগ না দেখে বারবার রিস্টার্ট করা। পঞ্চম ভুল: নিরাপত্তা আপডেট সম্পূর্ণ অবহেলা করা। পুরনো PHP বা CMS সার্ভারকে আক্রমণের জন্য উন্মুক্ত করে দেয়।

মূল SSH কমান্ডের সারাংশ টেবিল

মূল SSH কমান্ডের সারাংশ টেবিল
কাজকমান্ডকখন ব্যবহার করবেন
সংযোগssh user@server-ipটার্মিনাল দিয়ে সার্ভারে ঢুকতে
ডিরেক্টরি দেখাpwdবর্তমান ফোল্ডার জানতে
লিস্ট দেখাls -lahফাইল, পারমিশন, মালিক ও সাইজ দেখতে
ডিস্ক চেকdf -hডিস্কের পূর্ণতা দেখতে
ফোল্ডার সাইজdu -sh *কোন ফোল্ডার বেশি জায়গা নিচ্ছে তা জানতে
সার্ভিস স্ট্যাটাসsystemctl status nginxওয়েব সার্ভিস চলছে কিনা দেখতে
লগ দেখাtail -f error.logলাইভ এরর দেখতে
ফাইল ব্যাকআপtar -czf backup.tar.gz folderসাইট ফাইল কম্প্রেস করে রাখতে
ট্রান্সফারrsync -avz source destinationবড় ফাইল বা ফোল্ডার সিঙ্ক করতে
পারমিশন পরিবর্তনchmod 644 fileফাইল অ্যাক্সেস পারমিশন ঠিক করতে

উপসংহার: SSH জ্ঞান ওয়েবমাস্টারের কাজের গতি বাড়ায়

SSH কমান্ড দিয়ে লিনাক্স সার্ভার ম্যানেজমেন্ট শুধু সিস্টেম অ্যাডমিনিস্ট্রেটর নয়, গুরুতর ওয়েব প্রজেক্ট পরিচালনাকারী ওয়েবমাস্টারদের জন্যও অপরিহার্য দক্ষতা। সঠিক কমান্ড দিয়ে ফাইল ম্যানেজমেন্ট, লগ অ্যানালাইসিস, সার্ভিস কন্ট্রোল, ব্যাকআপ ও নিরাপত্তা কাজ অনেক দ্রুত ও নিয়ন্ত্রিত হয়। শুরুতে কয়েকটি কমান্ডই যথেষ্ট; পরে নিরাপদ অভ্যাসের সাথে মিলিয়ে আপনাকে আরও স্বাধীন ও প্রস্তুত করে তুলবে।

Hostragons-এ হোস্টিং, VPS, ডোমেইন ও SSL পরিকল্পনা করার সময় SSH অ্যাক্সেস, ব্যাকআপ, নিরাপত্তা ও পারফরম্যান্সের প্রয়োজন একসাথে বিবেচনা করলে দীর্ঘমেয়াদে ভালো ফল পাবেন। আপনার প্রয়োজনীয় সার্ভার টাইপ বেছে নিতে বা বর্তমান সেটআপ শক্তিশালী করতে Hostragons গাইডগুলো দেখুন।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

SSH কমান্ড দিয়ে লিনাক্স সার্ভার ম্যানেজমেন্টে রুট হওয়া কি আবশ্যক?

না। বরং প্রোডাকশন সার্ভারে সরাসরি রুট ব্যবহার না করাই ভালো। sudo অধিকারসহ সাধারণ ব্যবহারকারী দিয়ে সংযোগ করে প্রয়োজনে sudo কমান্ড চালানো নিরাপদ।

নতুন ওয়েবমাস্টার প্রথমে কোন SSH কমান্ড শিখবেন?

প্রথমে ssh, pwd, cd, ls -lah, cp, mv, rm, nano, df -h, du -sh, top, systemctl, tail -f, grep, tar, scp ও rsync শিখুন। এগুলো দৈনন্দিন ফাইল, সার্ভিস, লগ ও ব্যাকআপ কাজের বেশিরভাগই কভার করে।

SSH সংযোগ কেন প্রত্যাখ্যাত হয়?

সবচেয়ে সাধারণ কারণ: ভুল IP বা পোর্ট, SSH সার্ভিস না চলা, ফায়ারওয়াল বাধা, ভুল ব্যবহারকারী নাম, ভুল কী ফাইল বা সার্ভারে PasswordAuthentication বন্ধ থাকা। প্রথমে পোর্ট, ইউজার ও সার্ভিস স্ট্যাটাস চেক করুন।

chmod 777 ব্যবহার কি নিরাপদ?

সাধারণত না। chmod 777 সবার জন্য পড়া, লেখা ও চালানোর অনুমতি দেয়—বিশেষ করে ওয়েব ডিরেক্টরিতে নিরাপত্তার ঝুঁকি তৈরি করে। বেশিরভাগ ক্ষেত্রে ফোল্ডারে ৭৫৫, ফাইলে ৬৪৪ ব্যবহার করুন।

SSH দিয়ে ব্যাকআপ নেওয়া নাকি প্যানেল দিয়ে ব্যাকআপ নেওয়া ভালো?

দুটোই ব্যবহার করা যায়। প্যানেল ব্যাকআপ সহজ, SSH ব্যাকআপ আরও নমনীয় ও অটোমেশনের জন্য উপযোগী। বড় সাইটের ক্ষেত্রে tar, mysqldump ও rsync দিয়ে SSH ব্যাকআপ বেশি নিয়ন্ত্রিত। সবচেয়ে ভালো উপায় হলো নিয়মিত, টেস্ট করা এবং রিমোট কপি রাখা ব্যাকআপ স্ট্র্যাটেজি।

এই নিবন্ধটি শেয়ার করুন:

Hostragons টিম

হোস্টিং, সার্ভার এবং ডোমেইন নেম বিষয়ে আমাদের বিশেষজ্ঞ দলের হালনাগাদ নির্দেশিকা। আসুন, একসাথে আপনার প্রকল্পের জন্য সঠিক সমাধান খুঁজে বের করি।

আমাদের সাথে যোগাযোগ করুন