אנדרואיד

כיצד להתקין כניסה ל- ssh ללא סיסמה

Основы SSH

Основы SSH

תוכן עניינים:

Anonim

Secure Shell (SSH) הוא פרוטוקול רשת קריפטוגרפי המשמש לחיבור מאובטח בין לקוח לשרת ותומך במנגנוני אימות שונים. שני המנגנונים הפופולריים ביותר הם אימות מבוסס סיסמאות ואימות מבוסס מפתח ציבורי.

במדריך זה אנו נראה לך כיצד להגדיר אימות מבוסס מפתח SSH וכן כיצד להתחבר לשרת Linux בלי להזין סיסמה.

הגדרת כניסה ללא SSH באמצעות סיסמה

כדי להגדיר כניסה ל- SSH ללא סיסמה בלינוקס כל שעליך לעשות הוא ליצור מפתח אימות ציבורי ולצרף אותו לקובץ המארחים המרוחק ~/.ssh/authorized_keys .

השלבים הבאים יתארו את התהליך להגדרת כניסה ל- SSH ללא סיסמה:

  1. בדוק אם צמד מפתחות SSH קיים.

    לפני שתיצור צמד מפתחות SSH חדש, בדוק תחילה אם כבר יש לך מפתח SSH במחשב הלקוח שלך מכיוון שאתה לא רוצה להחליף את המפתחות הקיימים שלך.

    הפעל את פקודת ה- ls הבאה כדי לראות אם קיימים מפתחות SSH:

    ls -al ~/.ssh/id_*.pub

    אם יש מפתחות קיימים, אתה יכול להשתמש בכאלה ולדלג על השלב הבא או לגבות את המפתחות הישנים ולייצר אחד חדש.

    צור זוג מפתחות SSH חדש.

    הפקודה הבאה תפיק צמד מפתחות SSH חדש של 4096 ביטים עם כתובת הדוא"ל שלך כהערה:

    ssh-keygen -t rsa -b 4096 -C "[email protected]"

    לחץ על Enter כדי לקבל את מיקום קובץ ברירת המחדל ושם הקובץ:

    Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

    בשלב הבא, כלי ssh-keygen יבקש ממך להקליד ביטוי סיסמה מאובטח. בין אם תרצה להשתמש בביטוי סיסמה זה תלוי בך, אם תבחר להשתמש בביטוי סיסמה תקבל שכבה נוספת של אבטחה. ברוב המקרים מפתחים ומנהלי מערכות משתמשים ב- SSH ללא ביטוי סיסמא מכיוון שהם מועילים לתהליכים אוטומטיים לחלוטין. אם אינך רוצה להשתמש בביטוי סיסמה, לחץ על Enter

    Enter passphrase (empty for no passphrase):

    האינטראקציה כולה נראית כך:

    כדי להיות בטוח שמקשי ה- SSH נוצרים אתה יכול לרשום את המפתחות הפרטיים והציבוריים החדשים שלך באמצעות:

    ls ~/.ssh/id_*

    /home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

    העתק את המפתח הציבורי

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

    הדרך הקלה ביותר להעתיק את המפתח הציבורי שלך לשרת היא להשתמש בפקודה שנקראת ssh-copy-id . בסוג מסוף המכונה המקומי שלך:

    ssh-copy-id remote_username@server_ip_address

    תתבקש להזין את סיסמת remote_username המשתמש remote_username :

    remote_username@server_ip_address's password:

    לאחר אימות המשתמש, המפתח הציבורי יצורף לקובץ user_keys המרוחק של המשתמש והחיבור ייסגר.

    אם מסיבה כלשהי כלי השירות ssh-copy-id אינו זמין במחשב המקומי שלך, אתה יכול להשתמש בפקודה הבאה כדי להעתיק את המפתח הציבורי:

    cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

    התחבר לשרת שלך באמצעות מקשי SSH

    לאחר השלמת הצעדים לעיל עליכם להיות מסוגלים להיכנס לשרת המרוחק מבלי שתתבקשו להזין סיסמה.

    כדי לבדוק זאת נסה להתחבר לשרת שלך באמצעות SSH:

    ssh remote_username@server_ip_address

    אם הכל התנהל כשורה, תחוברו מייד.

השבתת אימות סיסמת SSH

כדי להוסיף לשרת שכבת אבטחה נוספת אתה יכול להשבית את אימות הסיסמה עבור SSH.

לפני שתשבית את אימות סיסמת ה- SSH, וודא שאתה יכול להתחבר לשרת שלך ללא סיסמה ולמשתמש שאתה מחובר אליו יש הרשאות סודו.

המדריכים הבאים מתארים כיצד להגדיר גישה לסודו:

  1. היכנס לשרת המרוחק באמצעות מקשי SSH, כמשתמש עם הרשאות סודו או כשורש:

    ssh sudo_user@server_ip_address

    פתח את קובץ התצורה של SSH /etc/ssh/sshd_config , חפש אחר ההנחיות הבאות ושנה באופן הבא:

    / etc / ssh / sshd_config

    PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

    לאחר שתסיים, שמור את הקובץ והפעל מחדש את שירות SSH.

    בשרתים של אובונטו או דביאן, הפעל את הפקודה הבאה:

    sudo systemctl restart ssh

    בשרתים של CentOS או Fedora, הפעל את הפקודה הבאה:

    sudo systemctl restart sshd

סיכום

במדריך זה למדת כיצד להגדיר אימות מבוסס מפתח SSH, המאפשר לך להתחבר לשרת המרוחק מבלי לספק סיסמת משתמש. אתה יכול להוסיף את אותו המפתח לשרתים מרוחקים מרובים.

הראינו לכם כיצד לבטל את אימות סיסמת SSH ולהוסיף שכבת אבטחה נוספת לשרת שלכם.

אבטחת ssh