ورود با رمز عبور هدف اصلی حملات brute-force است. با ورود مبتنی بر کلید، این نوع حمله عملاً بیاثر میشود.
۱. ساخت کلید (روی رایانهی خودتان)
ssh-keygen -t ed25519 -C "milad@laptop"برای کلید یک passphrase بگذارید. کلید خصوصی در ~/.ssh/id_ed25519 و کلید عمومی در ~/.ssh/id_ed25519.pub ذخیره میشود.
۲. کپی کلید عمومی روی سرور
ssh-copy-id -i ~/.ssh/id_ed25519.pub sahor@192.168.10.20اکنون ورود را امتحان کنید؛ نباید رمز سرور پرسیده شود:
ssh sahor@192.168.10.20۳. بستن ورود با رمز
بهجای ویرایش فایل اصلی، یک فایل جداگانه در sshd_config.d بسازید:
sudo nano /etc/ssh/sshd_config.d/10-hardening.confPasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3۴. بررسی و اعمال
پیش از ریاستارت، درستی پیکربندی را بررسی کنید:
sudo sshd -t
sudo systemctl reload sshهشدار: نشست SSH فعلی را نبندید. یک ترمینال جدید باز کنید و ورود را آزمایش کنید. فقط وقتی ورود جدید موفق بود، نشست قبلی را ببندید.