پرش به محتوا

ایمن‌سازی SSH: ورود با کلید و غیرفعال کردن رمز عبور

کلید ed25519 بسازید، آن را روی سرور نصب کنید و ورود با رمز عبور و root را ببندید.

Ubuntu 24.04 LTSسطح: متوسطبه‌روزرسانی: ۱۶ آبان ۱۴۰۵

ورود با رمز عبور هدف اصلی حملات brute-force است. با ورود مبتنی بر کلید، این نوع حمله عملاً بی‌اثر می‌شود.

۱. ساخت کلید (روی رایانه‌ی خودتان)

bash
ssh-keygen -t ed25519 -C "milad@laptop"

برای کلید یک passphrase بگذارید. کلید خصوصی در ~/.ssh/id_ed25519 و کلید عمومی در ~/.ssh/id_ed25519.pub ذخیره می‌شود.

۲. کپی کلید عمومی روی سرور

bash
ssh-copy-id -i ~/.ssh/id_ed25519.pub sahor@192.168.10.20

اکنون ورود را امتحان کنید؛ نباید رمز سرور پرسیده شود:

bash
ssh sahor@192.168.10.20

۳. بستن ورود با رمز

به‌جای ویرایش فایل اصلی، یک فایل جداگانه در sshd_config.d بسازید:

bash
sudo nano /etc/ssh/sshd_config.d/10-hardening.conf
ini
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

۴. بررسی و اعمال

پیش از ری‌استارت، درستی پیکربندی را بررسی کنید:

bash
sudo sshd -t
sudo systemctl reload ssh
هشدار: نشست SSH فعلی را نبندید. یک ترمینال جدید باز کنید و ورود را آزمایش کنید. فقط وقتی ورود جدید موفق بود، نشست قبلی را ببندید.