## 🔐 ۵ روش حرفهای برای افزایش امنیت سرور SSH در لینوکس
پروتکل SSH یکی از پرکاربردترین راههای مدیریت از راه دور در سرورهای لینوکس است. اما اگر بهدرستی پیکربندی نشود، میتواند نقطهی ورود هکرها باشد. در این مقاله ۵ راهکار مهم برای محافظت از سرور SSH را مرور میکنیم:
---
### ۱. 🚫 غیرفعالسازی ورود با کاربر روت (Disable Root Login)
کاربر `root` هدف محبوبی برای حملات brute-force است. برای افزایش امنیت:
🔧 ویرایش فایل پیکربندی SSH:
```bash
sudo nano /etc/ssh/sshd_config
```
🔻 مقدار زیر را پیدا کرده و به شکل زیر تغییر دهید:
```bash
PermitRootLogin no
```
سپس SSH را ریاستارت کنید:
```bash
sudo systemctl restart ssh
```
---
### ۲. 🔑 استفاده از احراز هویت با کلید SSH (SSH Key Authentication)
استفاده از رمز عبور برای ورود ناامن است؛ بهتر است از کلیدهای عمومی و خصوصی استفاده کنید.
📌 مراحل:
```bash
ssh-keygen
ssh-copy-id user@server-ip
```
و در فایل `/etc/ssh/sshd_config` مطمئن شوید:
```bash
PasswordAuthentication no
```
---
### ۳. 🔄 تغییر پورت پیشفرض SSH
پورت پیشفرض SSH یعنی 22، یکی از اولین اهداف اسکنرهای اتوماتیک است.
🔧 فایل تنظیمات:
```bash
Port 2222
```
✅ پس از تغییر پورت، مطمئن شوید پورت جدید در فایروال باز است:
```bash
sudo ufw allow 2222/tcp
```
---
### ۴. 🚨 محدودسازی دسترسی با `AllowUsers` یا `AllowGroups`
فقط به کاربران خاص اجازه اتصال SSH بدهید:
```bash
AllowUsers user1 user2
```
یا
```bash
AllowGroups sshusers
```
---
### ۵. 🔐 نصب ابزار ضد حمله Brute-force مثل `fail2ban`
این ابزار بهصورت خودکار IPهایی که سعی در ورود ناموفق دارند را مسدود میکند.
```bash
sudo apt install fail2ban
sudo systemctl enable fail2ban
```
قابل تنظیم با فایل `/etc/fail2ban/jail.local`
---
## 🧠 نکات تکمیلی:
* استفاده از فایروال برای محدود کردن IPهای مجاز SSH
* لاگگیری دقیق با ابزارهایی مثل `auditd`
* استفاده از 2FA (احراز هویت دو مرحلهای)
---
## ✅ جمعبندی
امنیت SSH پایهی امنیت سرور لینوکس است. با پیادهسازی این پنج راهکار میتوانید تا حد زیادی از حملات رایج جلوگیری کرده و امنیت دسترسی از راه دور را تضمین کنید.