s s h















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

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

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

    עכשיו יש לי שני מפתחות: הפרטי   ~/.ssh/id_dsa  והציבורי   ~/.ssh/id_dsa.pub 


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

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

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

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

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

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

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

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

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

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


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










נמאס לי לתקתק את הסיסמא כל פעם שאני רוצה לעבוד על המחשב הרחוק. אולי 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_dsa למפתח הפרטי ו- id_dsa.pub למפתח הציבורי.