EQVPS

איך להגדיר אימות מפתח SSH על VPS

החליפו כניסות סיסמה בזוג מפתחות SSH: צרו מפתח, העתיקו את החצי הציבורי לשרת, בדקו אותו, וכבו כניסת סיסמה. ההישג הבטיחותי הגדול ביותר לכל VPS חדש, בכמה פקודות.

כניסות סיסמה הן החלק החלש ביותר של שרת טרי: בוטים סורקים את האינטרנט ומפציצים את פורט 22 בניחושים מסביב לשעון. החלפת סיסמאות בזוג מפתחות SSH מסירה את משטח ההתקפה הזה לגמרי, וזה הדבר הראשון שכדאי לעשות בכל VPS חדש. הנה כל התהליך בכמה פקודות.

איך מפתחות SSH עובדים

אתם יוצרים זוג: מפתח פרטי שנשאר במחשב שלכם ומפתח ציבורי שאתם מציבים על השרת. השרת מאתגר כל מי שמתחבר; רק המחזיק במפתח הפרטי התואם יכול לענות. אתם יכולים לחלק את המפתח הציבורי בחופשיות — את המפתח הפרטי אתם מגנים.

1. צרו זוג מפתחות (במחשב שלכם)

ssh-keygen -t ed25519 -C "you@example.com"
# press Enter to accept the default path (~/.ssh/id_ed25519)
# set a passphrase for extra safety, or leave empty

זה יוצר שני קבצים: ~/.ssh/id_ed25519 (פרטי — לעולם אל תשתפו) ו-~/.ssh/id_ed25519.pub (ציבורי).

2. העתיקו את המפתח הציבורי לשרת שלכם

הדרך הקלה, אם אתם עדיין יכולים להיכנס עם סיסמה:

ssh-copy-id root@YOUR.SERVER.IP

אין ssh-copy-id? עשו זאת ידנית:

cat ~/.ssh/id_ed25519.pub | ssh root@YOUR.SERVER.IP \
  "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

3. בדקו את המפתח לפני שאתם משנים משהו

פתחו טרמינל חדש והיכנסו — לא אמורים לבקש מכם את סיסמת השרת:

ssh root@YOUR.SERVER.IP

אם זה עובד, השאירו את ההפעלה הזו פתוחה בזמן שאתם עושים את השלב הבא, כך שטעות לא תוכל לנעול אתכם בחוץ.

4. כבו כניסת סיסמה

על השרת, ערכו את /etc/ssh/sshd_config:

sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh    # on some distros the service is named sshd

מעכשיו רק המפתח שלכם נכנס, ורעש ה-brute-force המתמיד על פורט 22 פשוט מקפץ החוצה.

אזהרות כנות

צעדים הבאים

מפתח SSH הוא שלב ראשון של שרת מוקשח. שלבו אותו עם חומת אש — ראו איך להגדיר חומת אש UFW ו-איך להגדיר fail2ban — והריצו את רשימת בדיקת אבטחה ל-VPS חדש המלאה לפני שאתם חושפים משהו. על VPS ללא KYC בתשלום קריפטו, מפתח הוא גם איך שאתם שומרים שהגישה תהיה באמת שלכם.

שאלות נפוצות

למה להשתמש במפתח SSH במקום בסיסמה?

סיסמה ניתנת לניחוש או ל-brute-force; בוטים מפציצים את פורט 22 ללא הרף. זוג מפתחות SSH הוא למעשה בלתי אפשרי לניחוש, וברגע שאתם מכבים כניסת סיסמה ניסיונות ה-brute-force האלה פשוט נכשלים. זה גם נוח יותר — אתם נכנסים בלי להקליד סיסמה בכל פעם.

מה ההבדל בין המפתח הציבורי לפרטי?

הזוג נוצר יחד. המפתח הפרטי (id_ed25519) נשאר במחשב שלכם ולעולם אינו משותף. המפתח הציבורי (id_ed25519.pub) מועתק לשרת. כל אחד יכול להחזיק את המפתח הציבורי שלכם בבטחה; רק המפתח הפרטי התואם יכול להיכנס, אז שמרו על הפרטי.

ed25519 או RSA — מה כדאי לי ליצור?

ed25519 לכל דבר מודרני: מפתחות קצרים יותר, מהירים יותר, ומאובטחים. השתמשו ב-RSA (לפחות 4096-bit) רק אם אתם חייבים להתחבר למערכות ישנות שלא תומכות ב-ed25519. הפקודות למטה משתמשות ב-ed25519.

מה אם אני מאבד את המפתח הפרטי שלי?

אתם מאבדים את הדרך הזו פנימה. אם כניסת סיסמה עדיין פעילה, השתמשו בה כדי להוסיף מפתח חדש; אם כיביתם אותה, השתמשו בקונסולת הספק שלכם (ל-EQVPS יש קונסולת דפדפן) כדי להיכנס ולהוסיף מפתח ציבורי חדש. שמרו גיבוי של המפתח הפרטי שלכם, ושקלו להוסיף מפתח שני כך שאובדן אחד לא יהיה נעילה בחוץ.

האם בטוח לכבות כניסת סיסמה לגמרי?

כן — ברגע שהמפתח שלכם עובד ואישרתם שאתם יכולים להיכנס איתו. בדקו את המפתח בטרמינל שני לפני סגירת ההפעלה הנוכחית, כך שטעות לעולם לא תנעל אתכם בחוץ. אחרי זה, כיבוי סיסמאות מסיר את כל משטח ההתקפה של brute-force.

תגובות

אין עדיין תגובות. היו הראשונים.

השאירו תגובה

התגובות עוברות מודרציה לפני שהן מופיעות.