SSH (Secure Shell) আপনাকে একটি দূরবর্তী সার্ভারে একটি আসল, সরাসরি command line দেয় — মেশিনের সামনে ভৌতভাবে বসে থাকলে যে ধরনের terminal প্রবেশাধিকার পেতেন, একটি এনক্রিপ্ট করা সংযোগে। এটি সত্যিই একটি VPS বা dedicated সার্ভার প্রশাসনের আদর্শ উপায়, যেখানে কাজটি বিমূর্ত করার মতো কোনো control panel নেই।
ssh username@your-server-ip
# অথবা, ইতিমধ্যে সার্ভারের দিকে নির্দেশ করা একটি ডোমেইন ব্যবহার করে
ssh username@example.comপ্রমাণীকরণের পরে — একটি পাসওয়ার্ড দিয়ে, বা বেশি নিরাপদে একটি SSH key দিয়ে (একটি ক্রিপ্টোগ্রাফিক key জোড়া, নিচে সংক্ষেপে কভার করা) — আপনি সরাসরি দূরবর্তী সার্ভারে চলা একটি command prompt-এ পৌঁছান, ঠিক যেন আপনি নিজে সেই মেশিনে একটি terminal খুলেছেন।
একটি SSH key জোড়া একটি পাসওয়ার্ডের একটি বেশি নিরাপদ বিকল্প: একটি private key আপনার নিজের কম্পিউটারে থাকে, কখনো শেয়ার করা হয় না, আর একটি মিলে যাওয়া public key সার্ভারে রাখা হয়। সার্ভার সেই key কখনো পাঠানো ছাড়াই যাচাই করতে পারে আপনার কাছে মিলে যাওয়া private key আছে কিনা — শুধু একটি পাসওয়ার্ডের চেয়ে অর্থপূর্ণভাবে বেশি নিরাপদ, আর যেকোনো গুরুতর সার্ভার কাজের জন্য সংযুক্ত হওয়ার আদর্শ, প্রত্যাশিত উপায়।
| কমান্ড | যা করে |
|---|---|
| ls | বর্তমান ডিরেক্টরিতে ফাইল তালিকাভুক্ত করে |
| cd foldername | একটি ডিরেক্টরিতে বদলায় |
| pwd | বর্তমান ডিরেক্টরির সম্পূর্ণ path দেখায় |
| nano filename বা vim filename | একটি terminal-ভিত্তিক টেক্সট editor-এ একটি ফাইল খোলে |
| cp / mv / rm | একটি ফাইল কপি, সরায়/নাম বদলায়, বা মুছে |
| sudo command | প্রশাসক অধিকারসহ একটি কমান্ড চালায় |
এটি সত্যিই একটি ছোট সেট। আসল সার্ভার কাজের একটি বড় অংশ — একটি অ্যাপ deploy করা, log যাচাই করা, একটি সেবা পুনরায় চালু করা, একটি কনফিগারেশন ফাইল সম্পাদনা করা — শুধু এই কমান্ডগুলো থেকে তৈরি, পুনরাবৃত্ত আর একত্র করা।
SSH আপনাকে আসল শক্তি দেয়, কোনো নিরাপত্তা জাল ছাড়াই
এখানে একটি আসল ঝুঁকি আছে যা একটি control panel ইচ্ছাকৃতভাবে ডিজাইন দিয়ে প্রতিরোধ করে: sudo-সহ একটি ভুল টাইপ করা কমান্ড, বিশেষত rm (মুছে ফেলা) জড়িত, কোনো নিশ্চিতকরণ প্রম্পট আর কোনো undo ছাড়াই সত্যিই একটি সার্ভারের ক্ষতি করতে পারে। সাবধানে চলুন, উন্নত অধিকারসহ এটি চালানোর আগে যেকোনো কমান্ড দুবার যাচাই করুন, আর গুরুত্বপূর্ণ কিছুতে পরীক্ষা করার আগে backup রাখুন (একটি পরের পাঠে কভার করা)।
Shared হোস্টিং-এ এটি খুব কমই দরকার — আগের পাঠের control panel একজন shared হোস্টিং ব্যবহারকারীর প্রায় সবকিছু দরকার তা কভার করে। একবার আপনি একটি VPS বা dedicated সার্ভারে থাকলে, বা একটি cloud প্ল্যাটফর্মের deployment বা debugging টুল বিশেষভাবে এটি দাবি করলে SSH প্রয়োজনীয় হয়ে ওঠে। এটি এই সাইটের Node.js আর connecting-to-a-database উপাদানের সাথেও সরাসরি প্রাসঙ্গিক, যেখানে একটি লাইভ সার্ভার session প্রায়ই একটি আসল সমস্যা নির্ণয়ের দ্রুততম উপায়।