s s h










הדרך הטובה ביותר ללמוד את העבודה עם SSH היא חיקוי של דוגמה קיימת. אז בואו נניח שאני רוצה להתחבר לחשבון של סמי באיילון. אני אחלק את ההסבר לשניים: מה אני צריך לעשות ומה המארח שלי (סמי במחשב הרחוק) צריך לעשות.

אז מה אני צריך לעשות?

  1. אם אין לי מפתחות אני צריך לייצר לעצמי מפתחות הצפנה
    ssh-keygen -t rsa

    עכשיו יש לי שני מפתחות: הפרטי id_rsa והציבורי id_rsa.pub


  2. לוודא שההרשאות של הקבצים והמדריכים נכונות
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/*

  3. לשלוח לסמי בדואר את המפתח הציבורי שלי (id_rsa.pub)

ומה סמי צריך לעשות?

  1. ליצור את המדריך של SSH
    mkdir ~/.ssh

  2. ליצור קובץ מורשים
    touch ~/.ssh/authorized_keys

  3. לוודא שההרשאות של הקבצים והמדריכים נכונות
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/*

  4. להוסיף את המפתח הציבורי שלי לקובץ המורשים
    cat id_rsa.pub >> ~/.ssh/authorized_keys
    rm id_rsa.pub

  5. להודיע לי שאני יכול להתחיל לעבוד.

מעכשיו כאשר אני אריץ משהו כסמי באיילון המחשב לא יבקש את הסיסמא של סמי אלא את סיסמת המפתח הפרטי שלי:

gamba>  ssh sami@ayalon
Enter passphrase for key '/home/uuddii/.ssh/id_rsa':










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

אז מה אני צריך לעשות?

  1. לקרוא לסוכן שיקליד בשבילי את הסיסמא
    eval `ssh-agent`


  2. למסור לסוכן את הסיסמא שלי...
    ssh-add

  3. זהו. לאורך כל ההתחברות הזאת לא אצטרך להקליד את הסיסמא של ssh (התחברות, הכוונה עד שאני אסגור את המחשב המקומי)









הפקודה ליצירת מפתחות היא  ssh-keygen
אפשר לקבוע סוגים שונים של הצפנה והנפוצים בניהם הם rsa ו- dsa  לכן כדאי להכין מראש את שני סוגי המפתחות:

ssh-keygen -t rsa
ssh-keygen -t dsa

המחשב ישאל לשם הקובץ (בשבילנו זה יהיה גם  שם המפתח) ברירת המחדל היא id_rsa או id_dsa בהתאם לסוג המפתח שבחרנו בפקודה.  אחרי יצירת המפתחות נמצא במדריך ~/.ssh    שני קבצים עם השם שנתנו, לדוגמה: id_rsa למפתח הפרטי ו- id_rsa.pub למפתח הציבורי.