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

חיבור מרחוק ישר לטרמינל של רספברי פיי ועבודה עליו.

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

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

יותר מזה, רוב המתכנתים היום נדרשים להבין ב-CLI. רוב העבודה על שרתים מרוחקים, מערכות אחרות וכלי הפיתוח היא דרך ה-CLI. לא מבינים ב-CLI? יהיה לכם בלתי אפשרי להשתלב בעולם הפיתוח. אז אם אתם מכוונים לעולם הזה, או רוצים שהילדים שלכם ישתלבו בעולם הזה, כדאי להשקיע את הזמן הזה. וזה לא זמן רב במיוחד.

חיבור SSH לחלונות שמוסבר בהמשך המאמר.
חיבור SSH לחלונות

אפשר להתחבר ישירות לרספברי פיי באמצעות SSH ישירות לטרמינל מחלונות, לינוקס או מק. יש מצב שהסבירו לכם או שידעתם שצריך PuTTY בשביל להתחבר ל-SSH לינוקסי כמו רספברי פיי. הימים האלו חלפו והיום אפשר לעשות את החיבור ישירות משורת הפקודה – ה-CMD – של חלונות. נכנס ל-cmd הזה באמצעות הקלדת cmd בחיפוש החלונות ונכנס לטרמינל של חלונות.

אם שם המשתמש שלכם הוא pi (ברירת המחדל, אם לא שיניתם, הוא pi) נקליד את הפקודה:

ssh [email protected]

אפשר להשתמש גם בכתובת ה-IP של רספברי פיי. כמו למשל

ssh [email protected]

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

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

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

פקודות נפוצות בלינוקס

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

ls -al צפיה ברשימת הקבצים והתיקיות
.. cd חזרה אחורה לתיקית האב
cd DIRNAME כניסה לתיקית DIRNAME
pwd הצגת הנתיב הנוכחי
mkdir DIRNAME יצירת תיקיה בשם DIRNAME
touch FILENAME.EXT יצירת קובץ בשם FILENAME.EXT
rm FILENAME.EXT מחיקת קובץ בשם FILENAME.EXT
rm -rf DIRNAME מחיקת תיקיה בשם DIRNAME עם כל מה שיש בה
man COMMAND פקודה המציגה הסברים על פקודה אחרת
למשל: man rm תציג את כל המידע על rm
אפשר גם להשתמש בפלאג help– כמו למשל:
rm –help
cp SOMEFILE /DEST_LOC העתקת קובץ מנתיב SOMEFILE אל DEST_LOC
mv SOMEFILE /DEST_LOC העברת קובץ מנתיב SOMEFILE אל DEST_LOC
cat SOMEFILE הצגת תוכן קובץ מסוים
tail SOMEFILE -f הצגת השורות האחרונות של קובץ מסוים והצגת התוספות לקובץ באופן חי (מעולה להצגת לוגים)
grep SOMETEXT SOMEFILE חיפוש בתוך קובץ אחר SOMETEXT

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

אבל השוס האמיתי בלינוקס הוא הפייפ. כלומר התו הזה: | שמאפשר לנו שרשור של פקודות. כלומר אם יש לי פלט מפקודה ספציפית אני יכול להעביר אותה לפקודה הבאה. למשל

ls -al | grep a

הפלט מ ls-al עובר באמצעות הפייפ לפקודה הבאה, שהיא grep עם הפרמטר a – ומה שיוצג בפנינו הוא רשימת הקבצים שיש להם a בשם. או למשל:

cat .bashrc | grep alias

שיציג לנו את השורות שיש בהן את המילה alias בתוך קובץ .bashrc. הפקודה cat מציגה את התוכן של הקובץ bashrc וזה עובר באמצעות הפייפ לפקודה הבאה.

עורכי הטקסט

יש לנו שני עורכי טקסט ברספברי פיי OS. הראשון הוא nano. כדי להשתמש בו צריך להקליד:

nano FILENAME

למשל nano ~/.bashrc שיביא לי את הקובץ bashrc. בתיקית הבית שלי (שזה ~). אני יכול לערוך אותו.

הדגמה של עורך טקסט nano

הוא עובד כמו רוב עורכי הטקסט שאתם מכירים כאשר את האפשרויות למטה (לשמור, להחליף, לצאת) מפעילים עם קונטרול. כלומר למשל לצאת: X^ מפעילים עם קונטרול+X. הוא עורך טקסט פשוט ויעיל.

עורך הטקסט השני הוא vi ועליו לא אכתוב למרות שאני משתמש בו לא מעט כי הוא מורכב יחסית.

מבנה התיקיות בלינוקס

בגדול הוא לא שונה בהמון מחלונות. יש לנו את תיקית ה-root. שבה יש את תיקיות מערכת ההפעלה ומערכות ליבה שונות. אחת התיקיות היא תיקית home שיש בה את תיקיות המשתמשים. במקרה שלנו משתמש ששמו הוא pi. אם ניצור משתמש נוסף במערכת, אז תיווצר שם תיקיה. שם אמורות להיות כל התיקיות האישיות: מסמכים, הורדות והגדרות.

על מנת להגיע ישירות לתיקיה הזו, אפשר להשתמש בסימן ~. למשל:

cd ~

יביא אותי לתיקית הבית. ואילו

cd ~/Downloads/

יביא אותי לתיקית Downloads שיש בתיקית הבית שלי.

לסיכום, כדאי מאוד להכיר את לינוקס. במאמרים הבאים אני אצא מנקודת הנחה שאתם מכירים לינוקס ולא אסביר כל פקודה שיש פה. אבל אפשר לראות שזה לא ממש נורא. יאללה, תהיו מתכנתים אמיתיים ותעיפו את ה-GUI הזה לכל הרוחות 🙂

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

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

פוסטים נוספים שכדאי לקרוא

תמונה מצוירת של רובוט שמנקה HTML
יסודות בתכנות

סניטציה – למה זה חשוב

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

צילום מסך של סוואגר
יסודות בתכנות

openAPI

שימוש בתשתית הפופולרית למיפוי ותיעוד של API וגם הסבר בסיסי על מה זה API

מיקרו בקרים

חיבור מצלמה למיקרובקר

חיבור מצלמה למיקרו בקר ויצירה של מצלמת אבטחה מרחוק בעלות של 20 שקל.

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