אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » מדריכים » Git » עבודה עם SSH Keys

עבודה עם SSH Keys

רן בר-זיק מרץ 6, 2016 6:06 am 9 תגובות

כך תיצרו SSH keys ותעבדו מול שרתי גיט באופן מאובטח בלי להקליד שוב ושוב את הסיסמה שלכם.

המאמר הקודם במדריך ה-gitGit stash
המאמר הבא במדריך ה-gitgit hooks
כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

אפשר ללמוד גיט יותר טוב

ספר מקיף על גיט, בעברית, שנכתב על ידי רן בר-זיק וכולל תרגילים רבים ומידע מקיף - כולל הסבר על תרומה לפרויקטים של קוד פתוח ושילוב של התרומה בקורות החיים ניתן להורדה ממש פה.
כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

רוב ה-git reposittory מוגנים. אנחנו לא יכולים להתחבר אליהם באופן אנונימי אלא צריכים שם משתמש וסיסמה. מה הבעיה? הבעיה היא שזה מאוד מציק וגם לא מאובטח לעבוד עם שם משתמש וסיסמה. קודם כל, צריך לזכור את שם המשתמש והסיסמה כל הזמן. שנית, בגלל שאנחנו מעבירים את שם המשתמש והסיסמה], כל קילוגר מסכן יכול להאזין להקלדה ולקחת את שם המשתמש והסיסמה. הדרך הטובה ביותר היא לעבוד עם SSH keys.

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

עבודה עם SSH Keys היא מאוד חשובה כאשר אנחנו עובדים מול שרתים ובמיוחד כאשר אנחנו עובדים מול שרתי גיט – כמו גיטהאב, ביטבאקט או סטאש. הרבה אנשים נרתעים מיצירת המפתחות כי הם עובדים עם חלונות והם חושבים שזה מסובך ליצור את המפתחות האלו על חלונות. אבל האמת היא שזה ממש פשוט לעשות את זה בחלונות (גם בלינוקס/מק כמובן). על מנת להראות כמה זה פשוט אני אחרוג ממנהגי ואדגים על מערכת הפעלה חלונאית.

המצרכים הם:

גיט שמותקן על המחשב. את גיט קל להתקין על חלונות או על לינוקס/מק. אם קראתם את סדרת המאמרים על גיט שמאמר זה הוא חלק ממנה, אז במאמר הראשון יש הוראות התקנה שבגדול הן להוריד את קובץ ה-exe ולהריץ אותו. בהפצת הגיט לחלונות יש כלי שדומה ל-cmd והוא נקרא git bash.

הדגמה של חיפוש git bash בחלונות 8. התוכנה הזו מותקנת אוטומטית בכל חלונות בהתקנת git
הדגמה של חיפוש git bash בחלונות 8. התוכנה הזו מותקנת אוטומטית בכל חלונות בהתקנת git

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

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

אנחנו יוצרים כאן SSH key בשיטת RSA שהיא שיטת הצפנה (אחד ממפתחיה, אגב, הוא מדען ישראלי בשם עדי שמיר שאף זכה בפרס טיורינג!) בגודל של 4096 ביטים. צריך להכניס את המייל שלכם והוא נכנס כהערה.

ככה זה נראה:

הצעד הראשון בהתקנת מפתח SSH
הצעד הראשון בהתקנת מפתח SSH

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

אחרי היצירה, תוכלו להכנס לתיקיה שציינתם בתהליך היצירה ולראות שיש שם תיקיה ששמה הוא ssh. (שימו לב לנקודה בהתחלה). בתיקיה יש שני קבצים:

id_rsa.pub
id_rsa

המפתח הפומבי הוא זה שנגמר ב-pub. הוא קובץ טקסט שאפשר ורצוי לפתוח בעורך טקסט נורמלי. זה המפתח שאנחנו צריכים להכניס לשירות שאנחנו רוצים להתחבר אליו. אנחנו נכנס לשירות – בין אם מדובר בגיטהאב או בין אם מדובר ב-stash. בגיטהאב למשל, צריך להכנס לקישור הזה. פותחים את המפתח הפומבי באמצעות עורך הטקסט, מסמנים ומעתיקים ומדביקים בממשק הוובי. הנה הדוגמה ב-stash:

הכנסת המפתח הפומבי לממשק הוובי
הכנסת המפתח הפומבי לממשק הוובי

עכשיו אנחנו צריכים להורות ל-git שלנו להשתמש במפתח הפומבי להצפנה. זה קל מאוד. פותחים את git bash ומקלידים:

eval "$(ssh-agent -s)"

ואז

ssh-add ~/.ssh/id_rsa

פה בעצם אנחנו אומרים ל-ssh agent להשתמש במפתח הפרטי להצפנה.

צריך לזכור שאנחנו משתמשים ב-ssh links ולא ב-https. כל מה שנותר לעשות זה להתחיל לעבוד. בהתחברות הראשונה, נשאל אם אנחנו רוצים להוסיף את השרת שמולו אנחנו עובדים לרשימת השרתים הבטוחים:

התחברות ראשונה - אישור התחברות לשרת
התחברות ראשונה – אישור התחברות לשרת

אחרי זה, הכל זורם. אם השתמשתם ב-passphrase לא תצטרכו להקליד שוב ושוב את הסיסמה שלכם כמובן. אפשר להשתמש בשירות קטן וחמוד שנקרא ssh-agent שיזכור עבורכם את הסיסמה.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
מדריך הגיט
git אבטחה תשתית

9 תגובות

  1. טפטה הגב מרץ 7, 2016 בשעה 11:39 pm

    מאוד נהנה מהפוסטים האחרונים,
    אתה מביא פה את הנייעס שה-Git מאפשר.

    תודה רבה.

    • רן בר-זיק הגב מרץ 12, 2016 בשעה 12:58 pm

      תודה רבה! 🙂

  2. dviros הגב מרץ 13, 2016 בשעה 9:10 am

    אחלה פוסט! אני מאוד אוהב את PuTTYgen:
    https://winscp.net/eng/docs/ui_puttygen
    כמה הוא עדיף אל מול ה-GIT?

    • רן בר-זיק הגב מרץ 13, 2016 בשעה 9:42 am

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

  3. אלי הגב אפריל 6, 2016 בשעה 6:26 pm

    כל הכבוד, מאמר מדוייק, git הוא כלי חובה למפתחים

  4. אבי הגב אוקטובר 22, 2020 בשעה 10:26 pm

    אבל בכל פעם אני צריך לטעון את המפתח מחדש:
    "`
    eval "$(ssh-agent -s)"

    ssh-add ~/.ssh/id_rsa
    "`
    מה אפשר לעשות כדי שישמור את זה?

  5. ben הגב נובמבר 24, 2020 בשעה 4:46 pm

    תודה על הפוסטים

  6. EYTAN הגב מרץ 2, 2022 בשעה 1:14 pm

    אחרי שיש לי פרויקט ומפתח SSH, איך מעלים לgitlab?
    המאמר היה טוב, תודה.

  7. יוסי הגב מאי 19, 2022 בשעה 10:54 am

    זה מעולה, אפילו ביחס למדריכים באנגלית

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד