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

מדריך מהיר: חיבור לשרתים עם SSH באופן מאובטח

רן בר-זיק נובמבר 21, 2021 7:07 am 5 תגובות

כך מתחברים למכונה מרוחקת עם מפתח פרטי וציבורי.

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

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

החיבור אל השרת השני נעשה באמצעות כניסה לטרמינל שלכם והקלדת הפקודה ssh עם שם המשתמש והכתובת של השרת המרוחק. למשל: ssh [email protected] לרספברי מקומי או ssh [email protected] עם שם המשתמש moshe לשרת cohen.com. בד"כ זה השלב שבו אנו נתבקש להקליד סיסמה – אם נקליד אותה כמו שצריך, אז נוכל להכנס לשרת ולעבוד עליו.

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

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

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

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

יש SSH בחלונות

בחלונות, כרגיל, הכל טיפה יותר מסובך אבל בדגש על טיפה. בחלונות 10/11 צריך להתקין את open ssh client, שזה נעשה דרך ההגדרות של חלונות. נכנסים ל-settings, משם ל-Apps ואז מחפשים את Optional features ומפעילים את OpenSSH Client. זה הכל. במאמר הזה יש הסבר עם צילומי מסך אבל אמרו לי שזה ממש קל. יש גם את הסרטון הזה. שלושים שניות ואתם מסודרים.

סרטון התקנה על חלונות 11, עם חלונות 10 זה גם דומה מאוד.

מיקום המפתח הפרטי והציבורי

המפתחות הציבוריים והפרטיים נמצאים בתיקית ssh. המיקום שלה במק או לינוקס הוא:

 ~/.ssh

ובמערכת הפעלה חלונות פה:

C:\Users\<your_username>\.ssh

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

ssh-keygen -b 2048 -t rsa

הפקודה תיצור קובץ בשם id_rsa.pub ו-id_rsa (השם יכול להשתנות לבחירתכם). זה בסיומת pub הוא המפתח הציבורי (pub מלשון public).

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

חיבור עם SSH למכונה מרוחקת כמו רספברי פיי

אחרי שיש לנו את המפתח הציבורי והפרטי, אין קל מהוספת המפתח ל-SSH client שלנו כדי שנוכל להתחבר מרחוק. ראשית אנו נוסיף אותו למכונה המרוחקת באמצעות הפקודה:

ssh-copy-id -i ~/.ssh/id_rsa IP-OF-REMOTE-MACHINE

למשל:

ssh-copy-id -i ~/.ssh/id_rsa raspberrypi.local

ו… זהו. המכונה המרוחקת מוכנה

אז יש לנו מכונה מרוחקת שמוכנה לקבל את המפתח הציבורי שלנו. איך אנחנו מתחברים איתו ל-SSH? באמצעות קובץ config שנמצא בתיקית ה-ssh (בחלונות תצטרכו ליצור אותו – קובץ בשם config ללא סיומת). מדובר בקובץ טקסט שבו יש את ההגדרות של ה-SSH. נוסיף אליו הגדרה כזו:

Host raspberrypi.local
  HostName raspberrypi.local
  user pi
  IdentityFile ~/.ssh/id_rsa

ו… זהו. נשמור ומעכשיו, כשנתחבר אל ההוסט שלנו ב-SSH, לא נצטרך להקליד ססמה בכלל. נוכל להכנס ישירות. קל ונוח 🙂 אפשר גם לחבר את ויז'ואל סטודיו קוד ולערוך קבצים ישירות על המכונה.

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

חיבור עם SSH לאמזון lighstail

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

אנו נוריד את המפתח הדיפולטיבי. זה קובץ pem שהוא המפתח הפרטי הדיפולטיבי שנוצר עם המכונה. כדי להשתמש בו, אנו נעתיק אותו לתיקית ssh. התיקיה הזו נגישה בלינוקס/מק כאן:

cd ~/.ssh

ובמערכת הפעלה חלונות פה:

C:\Users\<your_username>\.ssh

זה המפתח הפרטי שלנו. הסיומת שלו היא pem. כדאי לשנות לו את ההרשאות (מק/לינוקס בלבד) באמצעות הפקודה:

chmod 400 ~/.ssh/your-key-name-eu-west-1.pem

ניתן ליצור ממנו מפתח ציבורי אגב (לצרכים אחרים) על ידי הפקודה:

ssh-keygen -y -f your-key-name-eu-west-1.pem > your-key-name-eu-west-1.pub

גם פה, אחרי שיש לנו את המפתח הפרטי, נוכל להשתמש בו בקובץ ה-config. קובץ שנמצא בתיקית ssh (אם יש לכם חלונות הוא לא יהיה שם, תצטרכו ליצור אותו – config ללא סיומת קובץ). הכניסו את הטקסט הזה – רק שנו את שם המכונה ואת שם הקובץ של המפתח הפרטי.

Host 6.38.20.20
  HostName 6.38.20.20
  user bitnami
  IdentityFile ~/.ssh/your-key-name-eu-west-1.pem

וזהו. מהחיבור הבא לא תהיה לכם סיסמה. אפשר להסיר את האפשרות להכנס למכונה עם סיסמה.

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

5 תגובות

  1. עופר הגב נובמבר 21, 2021 בשעה 4:19 pm

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

  2. רוני שרר הגב נובמבר 21, 2021 בשעה 5:17 pm

    המדריך הבא צריך להיות על איך עובדים על מכונה מרוחקת באמצעות VSCode בעריכה ושורת פקודה (מסתמך על חיבור ה-ssh אשר מוסבר כאן).

    • רועי הגב נובמבר 28, 2021 בשעה 12:43 am

      נכון!

  3. רועי הגב נובמבר 21, 2021 בשעה 7:49 pm

    יש אופציה להרחיב איך ניתן ליצור כזה חיבור אם יש לי Yubikey?

    • י הגב נובמבר 22, 2021 בשעה 4:49 pm

      החל מגרסת openssh 8.2p1 זה מגיע בילטאין, אתה בוחר בסוג המפתח sk..

השארת תגובה

ביטול

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

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-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 | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

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