חסוך זמן בכניסה ל-GitHub דרך SSH על ידי שימוש באימות ללא סיסמה.
אימות עם GitHub כרוך בדרך כלל בשימוש באסימון גישה או בסיסמה. עם זאת, שיטות אלו עלולות להיות לא נוחות ולא בטוחות, במיוחד בעת גישה ל-GitHub ממספר מכשירים.
GitHub מספק את האפשרות להשתמש ב-Secure Shell (SSH) לצורך אימות. SSH מציג פרוטוקול רשת מאובטח לגישה למכונה מרחוק. תכונה זו מתגלה כבעלת ערך במיוחד במצבים הדורשים אוטומציה או גישה מרחוק תכופה.
הבנת אימות SSH
אימות עם SSH כרוך בשימוש ב מפתחות קריפטוגרפיים ליצור חיבור מאובטח (מנהרה) בין לקוח (מכונה מקומית) לשרת (GitHub).
בעת שימוש ב-SSH עבור GitHub, משתמש יוצר זוג מפתחות SSH - מפתח ציבורי ומפתח פרטי. המפתח הציבורי מועלה לחשבון GitHub של המשתמש, בעוד המפתח הפרטי נשאר מאוחסן בצורה מאובטחת במחשב המקומי של המשתמש.
ניתן לדמות את התהליך למושג מנעול ומפתח. המפתח הציבורי (מנעול) נועד להיות משותף באופן גלוי ומאובטח בצד השרת. הוא משמש כמקביל למפתח הפרטי, ומאפשר לשרת לאמת את זהות המחשב המקומי שלך. לעומת זאת, המפתח הפרטי (המפתח) פועל כמזהה ייחודי המאוחסן אך ורק במחשב המקומי שלך, ומאפשר אימות מוצלח עם השרת.
במהלך אימות עם GitHub, המחשב המקומי שלך מציג את המפתח הפרטי שלו כהוכחת זהות. השרת בודק אם המפתח הציבורי המתאים המשויך לחשבון GitHub שלך תואם למפתח הפרטי הנתון. אם המפתחות תואמים, השרת מעניק גישה, ומקים מוצפן ומאובטח חיבור לתקשורת.
הגדרת SSH עבור GitHub
בסעיף זה, תראה כיצד להגדיר SSH לאימות עם GitHub.
1. יצירת צמד מפתחות SSH
תהליך יצירת צמד מפתחות SSH הוא הצעד הראשון לקראת ניצול SSH לצורך אימות.
- פתח את המסוף או שורת הפקודה שלך.
- בצע את הפקודה הבאה כדי ליצור זוג מפתחות SSH חדש:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
- תתבקש להזין מיקום קובץ כדי לשמור את צמד המפתחות. ללחוץ להיכנס כדי לקבל את מיקום ברירת המחדל (~/.ssh/id_rsa) או לציין מיקום מותאם אישית.
> יצירת זוג מפתחות RSA ציבורי/פרטי.
> הזן קובץ באיזה כדי לשמור את המפתח (/home/vagrant/.ssh/id_rsa): - לאחר מכן, תתבקש להזין ביטוי סיסמה. למרות אופציונלי, הוספת ביטוי סיסמה משמשת כרמת אבטחה נוספת. ודא שאתה זוכר את משפט הסיסמה שלך.
> הזן ביטוי סיסמה (ריק ל ללא ביטוי סיסמה):
> הזן שוב את אותו משפט סיסמה: - לאחר יצירת צמד המפתחות, אתה אמור לראות שני קבצים במיקום שצוין. id_rsa (מפתח פרטי) ו id_rsa.pub (מפתח ציבורי).
> הזיהוי שלך נשמר ב /home/vagrant/.ssh/id_rsa.
> המפתח הציבורי שלך נשמר ב /home/vagrant/.ssh/id_rsa.pub. - בסיום, המקשים טביעת אצבע ותמונה אקראית מוצגים.
- לבסוף, תזדקק לתוכן של המפתח הציבורי כדי להוסיף ל- GitHub. הפעל את הפקודה הבאה כדי לקבל את התוכן:
cat ~/.ssh/id_rsa.pub
הקפד לציין את הנתיב (~/.ssh/id_rsa.pub במקרה שלי) שבו השתמשת בעת יצירת המפתחות.
העתק את התוכן למקום בטוח וזמני לשימוש מאוחר יותר.
2. הוספת המפתח הציבורי ל-GitHub
כעת לאחר שיצרת זוג מפתחות SSH, עליך להוסיף את המפתח הציבורי לחשבון GitHub שלך.
- היכנס לחשבון GitHub שלך ועבור לחשבון שלך הגדרות.
- לחץ על מפתחות SSH ו-GPG ממוקם בסרגל הצד השמאלי.
- לחץ על מפתח SSH חדש.
- תן את מפתח ה-SSH שלך א כותרת.
- הדבק את תוכן המפתח הציבורי ב- מַפְתֵחַ שדה.
- לבסוף, לחץ על הוסף מפתח SSH כדי לשמור את מפתח SSH בחשבון GitHub שלך.
ייצאת בהצלחה את המפתח הציבורי לחשבון GitHub שלך עם אלה.
3. הגדרת סוכן SSH
סוכן SSH הוא תוכנית המסייעת בניהול מפתחות SSH ומספקת דרך מאובטחת לאחסן ולהשתמש בהם. הוא פועל כמתווך בין המחשב המקומי שלך לשרת המרוחק במהלך אימות SSH. זה מאפשר לך לנהל מספר מפתחות SSH עבור חשבונות GitHub שונים.
- ודא שסוכן SSH פועל.
$ eval"$(ssh-agent -s)"
> סוכן פיד 2757 - הוסף את המפתח הפרטי לסוכן SSH.
$ ssh-add ~/.ssh/id_rsa
> הזן ביטוי סיסמה ל /home/vagrant/.ssh/id_rsa:
> זהות נוספה: /home/vagrant/.ssh/id_rsa (/home/vagrant/.ssh/id_rsa)
הגדרת בהצלחה סוכן SSH לניהול המפתחות שלך.
4. בדיקת חיבור SSH
כעת אתה יכול לבדוק כדי לוודא שחיבור ה-SSH שלך מוגדר כהלכה, ותוכל לבצע אימות ל-GitHub באמצעות SSH.
- הפעל את הפקודה למטה כדי לבדוק את חיבור ה-SSH ל-GitHub;
אם הכל הולך כשורה, תראה אזהרה לגבי טביעת האצבע. אשר את טביעת האצבע והקלד כן להמשיך.ssh -T [email protected]
> האותנטיות של המארח 'github.com (140.92.130.4)' פחיתלא יוקם.
> טביעת האצבע של מפתח ECDSA היא SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
> האם אתה בטוח שאתה רוצה לְהַמשִׁיך מתחבר (כן/לא)? - עם ההקלדה כן, תראה פלט דומה לזה שלמטה.
> אזהרה: נוסף לצמיתות 'github.com, 140.92.130.4' (ECDSA) לרשימת המארחים הידועים.
> היי princewillingoo! אתהאומתו בהצלחה, אך GitHub אינו מספק גישת מעטפת.
זה מראה שהאימות הצליח.
ניהול מאגרים באמצעות SSH
הגדרת SSH מאפשרת לך לנהל את המאגרים שלך מבלי שתצטרך לדאוג לבעיות של סיסמאות ואסימוני גישה.
הגדרת כתובת URL מרחוק
שלט git מַעֲרֶכֶתמקור כתובת האתר [email protected]:/.git
שיבוט מאגר
git שיבוט [email protected]:/.git
דחיפה של שינויים למאגר
git push origin
שליפת שינויים ממאגר
git pull origin
היתרונות של SSH על אימות סיסמה
השימוש ב-SSH לאימות מציע מספר יתרונות בולטים על פני שיטות אימות מסורתיות מבוססות סיסמאות. זה כולל:
- אימות SSH מבטל את הצורך בסיסמאות, ומפחית את הסיכון לגניבת אישורים.
- השימוש במפתחות קריפטוגרפיים הופך אותו לחסין יותר מפני התקפות בכוח גס בהשוואה לסיסמאות.
- אם המפתח הפרטי שלך נפגע, אתה יכול לבטל ולהחליף אותו, מה שהופך את המפתח שנפרץ לחסר תועלת.
מסיבה זו, אימות SSH נוטה להיות אפשרות טובה יותר בהשוואה לאימות סיסמה.
שיטות עבודה מומלצות ופתרון בעיות
כדי להבטיח הגדרת SSH חלקה ומאובטחת, יש צורך לעקוב אחר שיטות עבודה מומלצות ולהיות מודע לבעיות נפוצות שעלולות להתרחש ולדרכים לפתור אותן.
- הגדר תמיד ביטוי סיסמה כדי ליצור שכבת אבטחה נוספת.
- תרגל סיבוב מפתח וגיבויים תכופים.
- אשר כל שלב כדי למנוע שגיאות הרשאה או תצורת סוכן SSH שגויה.
על ידי הקפדה על שיטות עבודה מומלצות אלה, תוכל להשתמש בביטחון באימות SSH עבור GitHub.
הרבגוניות של SSH
SSH נמצא בשימוש נרחב בתחומים אחרים לניהול מרחוק של שרתים, מיקרו-בקרים והתקני רשת מכיוון שהוא מאפשר גישה מאובטחת לממשק שורת הפקודה (CLI), המאפשר למשתמשים לבצע משימות שונות, להגדיר הגדרות, להעביר קבצים ולפתור בעיות נושאים.