Secure Shell
Secure Shell (בראשי תיבות: SSH) הוא פרוטוקול לתקשורת מחשבים המאפשר ביצוע פעולות על מחשב מרוחק לאחר תהליך הזדהות (login). הוא נועד להחליף את rlogin ,RSH ו־telnet ולאפשר תקשורת מאובטחת ומוצפנת בין שני מחשבים לא תלויים ברשתות לא מאובטחות. SSH פועל מעל TCP, והפורט הסטנדרטי שלו הוא 22.
התפתחות וגרסאות
עריכההגרסה הראשונה של SSH (שלימים נקראה SSH-1) נכתבה על ידי הפיני טאטו ילונן (Tatu Ylönen) ב־1995 והתבססה על תוכנה חופשית וספריות של GNU. על מנת להפיץ את התוכנה והפרוטוקול הקים טאטו את חברת SSH Communications Security שמאוחר יותר שכתבה את הקוד והפכה את התוכנה לתוכנה קניינית.
גרסה שנייה של SSH, הנקראת SSH-2 נקבעה על ידי ה־IETF (Internet Engineering Task Force), גוף התקינה העיקרי של תעשיית האינטרנט. SSH-2 מכילה שיפורים של SSH-1 בתחומי האבטחה ואפשרויות התקשורת שהפרוטוקול מציע, בהן החלפת מפתחות בשיטת דיפי-הלמן (Diffie-Hellman key exchange), בדיקת תקינות המסתמכת על קוד אימות מסרים והאפשרות להפעיל מספר בלתי מוגבל של התקשרויות יישומיות על פני התקשרות SSH יחידה ובנוסף מגדירה תקן ברור כך שתוכנות שונות על גבי פלטפורמות שונות תוכלנה לתקשר ביניהן בצורה בטוחה.
תיעול
עריכהפרוטוקול SSH תומך ב"תיעול" (ראה Port Forwarding), כלומר, ניתן "לתעל" תעבורה ממחשב אחד למחשב אחר בצורה מאובטחת דרך תוכנות SSH. בעזרת פונקציה זו ניתן לאבטח תעבורה של תוכנה שאינה תומכת באבטחה, או שאבטחתה חלשה יחסית.
לדוגמה, שרת SSH ושרת VNC פועלים על שני מחשבים ברשת פנימית. שרת ה-VNC מוגדר להאזין רק לחיבורים ממחשב ה-SSH (כך שלא ניתן לגשת אליו מרשת האינטרנט, או שהוא כלל אינו מחובר אליה). שרת ה-SSH לעומת זאת, מחובר לאינטרנט ומקשיב לחיבורים חיצוניים. כאשר משתמש מתחבר לשרת ה-SSH ומזדהה, השרת מתעל תעבורה לשרת ה-VNC, וכך יש תקשורת בין שני מחשבי הקצה. יש לציין כי שרת ה-SSH ושרת ה-VNC יכולים לרוץ על אותו המחשב (לדוגמה: במקרה של שימוש ביתי).
תוכנות
עריכהכיום קיים יישום של פרוטוקול ה־SSH לרוב הפלטפורמות הקיימות, הנפוצים בהם -
- Lsh - היישום של פרויקט GNU ל־SSH.
- OpenSSH - תוכנה חופשית בקוד פתוח המתבססת על SSH-1 המקורי.
קישורים חיצוניים
עריכה- PuTTY – יישום לסביבת חלונות
- PenguiNet
- SSHDOS
- JavaSSH
- WinSCP
- Monkey HelperTool - portable ssh Java based interface for Unix/Linux