اسکریپت امنیت SSH برای سرورهای Ubuntu
برای نصب و اجرای اسکریپت با یک دستور:
curl -fsSL https://raw.githubusercontent.com/Recoba86/VPS-Secure/main/secure-ssh.sh | sudo bashیا اگر میخواهید فایل را دانلود کنید و بعداً اجرا کنید:
wget https://raw.githubusercontent.com/Recoba86/VPS-Secure/main/secure-ssh.sh
sudo chmod +x secure-ssh.sh
sudo ./secure-ssh.shاین اسکریپت تنظیمات زیر را برای امنسازی SSH سرور شما انجام میدهد:
- ✅ تغییر پسورد یوزر
ubuntu - ✅ تغییر پورت SSH به
10808(برای جلوگیری از اسکنهای خودکار) - ✅ غیرفعال کردن لاگین با یوزر
root - ✅ فعال کردن احراز هویت با پسورد و غیرفعال کردن کلید SSH
- ✅ محدود کردن دسترسی SSH فقط به یوزر
ubuntu - ✅ نصب و پیکربندی
fail2banبرای محافظت در برابر حملات brute-force - ✅ بکاپ خودکار از فایل کانفیگ SSH
- ✅ تنظیم fail2ban با محدودیت 3 تلاش ناموفق در 10 دقیقه (بن به مدت 1 ساعت)
- ✅ پاک کردن تمام قوانین فایروال (iptables)
- ✅ حذف netfilter-persistent
- ✅ (توجه) اسکریپت ریبوت خودکار انجام نمیدهد؛ در صورت نیاز خودتان ریبوت کنید
پس از اجرای اسکریپت:
- پورت جدید:
10808 - یوزر مجاز:
ubuntu - روش احراز هویت: پسورد (که خودتان تعیین کردید)
مثال اتصال:
ssh -p 10808 ubuntu@YOUR_SERVER_IP- سیستم عامل: Ubuntu
- دسترسی root یا sudo
- اتصال اینترنت فعال (برای نصب fail2ban)
اگر بعد از اجرای اسکریپت نتوانستید متصل شوید:
- مطمئن شوید فایروال سرور پورت 10808 را باز کردهاید
- در کنسول سرور (مثلاً از پنل هاست) وارد شوید
- وضعیت SSH را چک کنید:
sudo systemctl status sshd - لاگها را بررسی کنید:
sudo journalctl -u sshd -n 50
To install and run the script with a single command:
curl -fsSL https://raw.githubusercontent.com/Recoba86/VPS-Secure/main/secure-ssh.sh | sudo bashOr download and run manually:
wget https://raw.githubusercontent.com/Recoba86/VPS-Secure/main/secure-ssh.sh
sudo chmod +x secure-ssh.sh
sudo ./secure-ssh.sh- Changes
ubuntuuser password - Changes SSH port to
10808 - Disables root login
- Enables password authentication
- Restricts SSH access to
ubuntuuser only - Installs and configures
fail2banfor brute-force protection - Cleans up firewall rules (iptables)
- Removes netfilter-persistent
- Does not reboot the server automatically — reboot manually if needed
Connection example:
ssh -p 10808 ubuntu@YOUR_SERVER_IP