আপনার অনুরোধ অনুযায়ী আমি এখন সম্পূর্ণ প্রোফেশনাল এবং গভীর ব্যাখ্যাসহ আবার দিচ্ছি:
নতুন ইউজার olee দিয়ে Laravel-Ready VPS Security Setup, যাতে:
- Root login সম্পূর্ণ বন্ধ
- শুধু
oleeইউজারই SSH Key দিয়ে লগইন করতে পারে - Custom SSH port ব্যবহার হয়
- প্রতিটি কমান্ডের বিস্তারিত ব্যাখ্যা থাকে
- Backup এবং Windows restore system সম্পূর্ণ প্র্যাকটিক্যালভাবে দেখানো হয়
✅ স্টেপ-বাই-স্টেপ: “olee” ইউজার দিয়ে সিকিউর SSH সেটআপ
🔹 Step 1: Windows-এ SSH Key জেনারেট করা (olee ইউজার জন্য)
Git Bash চালান:
ssh-keygen -t rsa -b 4096 -C "olee@kreatech" -f ~/.ssh/olee-key
📌 এখানে যা হচ্ছে:
-t rsa: RSA টাইপ SSH key তৈরি করছে-b 4096: 4096-bit লম্বা key (অত্যন্ত সিকিউর)-C "...": Key-র label/comment-f ~/.ssh/olee-key: ফাইলের নাম ও লোকেশন
➡️ Output:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/You/.ssh/olee-key): [Enter]
Enter passphrase: [Enter]
🎉 তৈরি হবে:
C:\Users\YourName\.ssh\olee-key
C:\Users\YourName\.ssh\olee-key.pub
🔹 Step 2: VPS-এ root দিয়ে প্রথমবার লগইন
ssh root@<your-vps-ip>
➡️ উদাহরণ:
ssh root@65.21.123.111
🧠 root দিয়ে এখনো login করতে পারবেন কারণ SSH Key এখনো কনফিগার হয়নি।
🔹 Step 3: olee নামে নতুন ইউজার তৈরি
adduser olee
➡️ এটি একটি নতুন লিনাক্স ইউজার তৈরি করে /home/olee ফোল্ডারসহ।
➡️ এটি আপনার future login user হবে।
🔹 Step 4: olee ইউজারকে sudo পারমিশন দেওয়া
usermod -aG sudo olee
📌 ব্যাখ্যা:
-aG sudo olee: olee ইউজারকেsudoগ্রুপে যোগ করে- এতে olee ইউজার administrative কাজ করতে পারবে (যেমন system install)
🔹 Step 5: .ssh ফোল্ডার ও Public Key বসানো olee ইউজারের জন্য
- SSH ফোল্ডার তৈরি:
mkdir -p /home/olee/.ssh
- Permission ঠিক করুন:
chmod 700 /home/olee/.ssh
chown olee:olee /home/olee/.ssh
📌 ব্যাখ্যা:
700: শুধু owner (olee) ফোল্ডার access করতে পারবেchown: মালিকানা olee ইউজারের নামে সেট করা
- Public Key Windows থেকে কপি করুন:
cat ~/.ssh/olee-key.pub
➡️ SSH শুরু হয় ssh-rsa দিয়ে — পুরো লাইন কপি করুন
- VPS-এ authorized_keys ফাইলে সেট করুন:
nano /home/olee/.ssh/authorized_keys
➡️ কপি করা public key পেস্ট করুন
➡️ Save: Ctrl + X, Y, Enter
- Permission দিন:
chmod 600 /home/olee/.ssh/authorized_keys
chown olee:olee /home/olee/.ssh/authorized_keys
📌 ব্যাখ্যা:
600: ফাইলটি শুধু owner পড়তে পারবেchown: olee ইউজারকে ফাইলের মালিক বানানো
🔹 Step 6: SSH Config সিকিউর করা (root login বন্ধ + port change)
nano /etc/ssh/sshd_config
🔄 নিচের লাইনগুলো খুঁজে বের করে পরিবর্তন করুন:
Port 2280
PermitRootLogin no
PasswordAuthentication no
📌 ব্যাখ্যা:
Port 2280: SSH ডিফল্ট 22 বাদ দিয়ে অন্য port → bot attack থেকে নিরাপদPermitRootLogin no: root login পুরোপুরি নিষিদ্ধPasswordAuthentication no: Password দিয়ে কেউ login করতে পারবে না, কেবল Key
🔁 SSH restart করুন:
systemctl restart ssh
🔹 Step 7: Windows থেকে olee ইউজার দিয়ে SSH Login টেস্ট
ssh -i ~/.ssh/olee-key -p 2280 olee@your-vps-ip
➡️ উদাহরণ:
ssh -i ~/.ssh/olee-key -p 2280 olee@65.21.123.111
🎉 সফল login মানেই root ও password login বন্ধ + নিরাপদ Access ✅
🔹 Step 8: Windows SSH Config ফাইল তৈরি করে alias দিয়ে দ্রুত login
Git Bash চালিয়ে:
notepad ~/.ssh/config
✏️ লিখুন:
Host olee-vps
HostName 65.21.123.111
User olee
IdentityFile ~/.ssh/olee-key
Port 2280
📌 ব্যাখ্যা:
olee-vps: এখন থেকে এটা একক শব্দে ব্যবহার করা যাবে- আপনি এই alias দিয়ে login করতে পারবেন:
ssh olee-vps
🔹 Step 9: SSH Key Backup (Encrypted ZIP)
Git Bash-এ চালান:
cd ~/.ssh
zip -e ssh_backup_olee.zip olee-key olee-key.pub config
➡️ ssh_backup_olee.zip → Google Drive, Pendrive বা Dropbox-এ রেখে দিন
➡️ password-protected zip থাকলে হ্যাক করাও কঠিন
🔹 Step 10: নতুন কম্পিউটারে Restore করে আবার Login
.sshফোল্ডার তৈরি করুন:
C:\Users\<NewUser>\.ssh\
ssh_backup_olee.zipআনজিপ করে এখানে রাখুন- Git Bash দিয়ে permission ঠিক করুন:
chmod 600 ~/.ssh/olee-key
- এবার login করুন:
ssh olee-vps
🎉 আগের মতোই কাজ করবে! আপনি root ছাড়াই olee ইউজার দিয়ে নিরাপদভাবে VPS চালাতে পারবেন।
✅ সারাংশ (Pro-level Ready)
| কাজ | অবস্থা |
|---|---|
নতুন ইউজার olee | ✅ তৈরি |
| Public Key login | ✅ Enable |
| Password login | ❌ Disabled |
| Root login | ❌ Disabled |
| Custom SSH port | ✅ 2280 |
.ssh/config alias | ✅ আছে |
| SSH key backup | ✅ Encrypted zip |
| অন্য কম্পিউটার restore | ✅ Ready |