הדרך הטובה ביותר ללמוד את העבודה עם SSH היא חיקוי של דוגמה קיימת. אז בואו נניח שאני רוצה
להתחבר לחשבון של סמי באיילון.
אני אחלק את ההסבר לשניים: מה אני צריך לעשות ומה המארח שלי (סמי במחשב הרחוק) צריך לעשות.
אז מה אני צריך לעשות?
אם אין לי מפתחות אני צריך לייצר לעצמי מפתחות הצפנה
ssh-keygen -t rsa
עכשיו יש לי שני מפתחות: הפרטי id_rsa והציבורי id_rsa.pub
לוודא שההרשאות של הקבצים והמדריכים נכונות
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
לשלוח לסמי בדואר את המפתח הציבורי שלי (id_rsa.pub)
מעכשיו כאשר אני אריץ משהו כסמי באיילון המחשב לא יבקש את הסיסמא של סמי אלא את
סיסמת המפתח הפרטי שלי:
gamba> ssh sami@ayalon Enter passphrase for key '/home/uuddii/.ssh/id_rsa':
נמאס לי לתקתק את הסיסמא כל פעם שאני רוצה לעבוד על המחשב הרחוק.
אולי ssh יעשה את זה בשבילי?
אז מה אני צריך לעשות?
לקרוא לסוכן שיקליד בשבילי את הסיסמא
eval `ssh-agent`
למסור לסוכן את הסיסמא שלי...
ssh-add
זהו. לאורך כל ההתחברות הזאת לא אצטרך להקליד את הסיסמא של ssh
(התחברות, הכוונה עד שאני אסגור את המחשב המקומי)
הפקודה ליצירת מפתחות היא ssh-keygen
אפשר לקבוע סוגים שונים של הצפנה והנפוצים בניהם הם rsa ו- dsa לכן כדאי
להכין מראש את שני סוגי המפתחות:
ssh-keygen -t rsa ssh-keygen -t dsa
המחשב ישאל לשם הקובץ (בשבילנו זה יהיה גם שם המפתח) ברירת המחדל היא
id_rsa או id_dsa בהתאם לסוג המפתח שבחרנו בפקודה. אחרי יצירת המפתחות נמצא במדריך
~/.ssh שני קבצים עם השם שנתנו, לדוגמה: id_rsa למפתח הפרטי
ו- id_rsa.pub למפתח הציבורי.