חיבור אוטומטי עם מפתחות ssh
ניתן לבצע חיבור ל-SSH ללא סיסמאות באמצעות שימוש במפתחות. יצירת המפתחות היא פעולה חד פעמית שתאפשר בעתיד חיבור ללא שימוש בסיסמא.
לשם ההבהרה - בהמשך נתייחס ל-"מחשב המארח" בתור המחשב ממנו מתבצע חיבור ה-SSH ול-"מחשב המרוחק" בתור המחשב אליו אנו מנסים להתחבר באמצעות SSH.
יצירת מפתחות ב-Windows
1. נוריד את התכנה PuttyGen מהכתובת:
2. נריץ את התכנה ונלחץ על Generate:
3. במהלך התהליך, נצטרך להזיז את סמן העכבר באופן אקראי על גבי האיזורים הריקים בחלון. נוכל להבחין ב-Progress Bar מתמלא.
4. לאחר שה-Progress Bar יתמלא ולאחר המתנה קצרה נגיע לחלון הבא:
5. המפתח הציבורי מופיע תחת Public key for pasting into OpenSSH authorized_keys file. נסמן את כולו ונעתיק.
6. נלחץ על Save private key בכדי לשמור את המפתח הפרטי.
7. נתחבר למחשב המרוחק באמצעות SSH. שם, נערוך את הקובץ
~/.ssh/authorized_keys
8. נדביק בשורה חדשה את המפתח הציבורי שהעתקנו לעיל.
9. נסגור את ה-SSH ונפתח את Putty.
10. לאחר הזנת כתובת המחשב אליו אנחנו רוצים להתחבר, בצד שמאל של החלון נבחר ב-Connection>SSH>Auth.
11. נלחץ על Browse ונבחר את המפתח הפרטי ששמרנו לעיל..
12. בלחיצה על Open ייפתח לנו חיבור SSH למחשב המרוחק ויבקש שם משתמש.
13. אם הכל פעל כשורה, נתחבר מיד ל-Shell של המחשב המרוחק, מבלי להזין סיסמא.
יצירת מפתחות ב-Linux/Unix/Android/Mac
1. נריץ ב-terminal במחשב את הפקודה ssh-keygen.
2. נתבקש לבחור נתיב, ו-passphase. בכל מקרה, לא נזין כלום אלא נלחץ על enter עד שהתהליך יסתיים.
3. בסיום התהליך, נקבל שני קבצים:
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
הראשון הוא המפתח הציבורי והשני הוא המפתח הפרטי.
4. נפתח את הקובץ
~/.ssh/id_rsa.pub
ונעתיק את תוכנו.
5. נתחבר למחשב המרוחק באמצעות SSH. שם, נערוך את הקובץ
~/.ssh/authorized_keys
6. נדביק בשורה חדשה את המפתח הציבורי שהעתקנו לעיל.
7. נצא מחיבור ה-SSH ונערוך במחשב המארח את הקובץ
~/.ssh/config
8. נוסיף את השורות
Host {remote_ip}
IdentityFile ~/.ssh/id_rsa
כשאת {remote_ip} נחליף בכתובת ה-ip של המחשב המרוחק.
9. אם הכל עבד כשורה, כעת בחיבור SSH מהמחשב המארח למחשב המרוחק, לא נתבקש להזין סיסמא.