העברה דינמית הפוכה ב-SSH: יצירת מאזין SOCKS מרוחק
צרו מאזין SOCKS דינמי הפוך בשרת SSH, כאשר חיבורי היעד נפתחים מהצד של הלקוח.
בדרך כלל מנהרת SSH SOCKS נותנת למחשב נייד את יציאת הרשת של השרת. העברה דינמית הפוכה הופכת את הסידור הזה: תוכנית במכונה המרוחקת יכולה להשתמש ברשת שעומדת לרשות לקוח ה-SSH שלכם.
בלקוח OpenSSH שתומך בהעברה מרוחקת ללא יעד:
ssh -N -R 127.0.0.1:1080 [email protected]
מאזין ה-SOCKS נמצא ב-remote.example.net, כבול לכתובת ה-loopback שלו. תוכניות שם משתמשות ב-127.0.0.1:1080. חיבורי היעד חוזרים דרך SSH ונפתחים מהצד שבו פועל הלקוח שלכם.
קראו את הכיוון לפני ה-IP
התיעוד של -R הופך את היעד שהושמט למשמעותי. מפרט שמכיל port:host:hostport הוא במקום זאת העברה קבועה. אל תניחו שלקוח ישן תומך בצורה הדינמית הקצרה.
כתובת ה-IP היוצאת היא זו שהרשת בצד הלקוח שלכם משתמשת בה עבור החיבורים האלה. מחשב נייד מאחורי נתב ביתי עשוי לצאת דרך הכתובת הציבורית המתורגמת של הנתב. היא אינה אוטומטית כתובת ה-IP של שרת ה-SSH, וגם לא כתובת שהוקצתה ישירות למחשב הנייד.
השאירו את המאזין המרוחק מוגבל. כריכה עם תו כללי עלולה לאפשר למכונות אחרות להשתמש ברשת בצד הלקוח שלכם כיציאה, בכפוף למדיניות השרת. אפילו loopback עשוי להיות זמין לתהליכים אחרים מתאימים במארח המרוחק; זה אינו סוד לכל תהליך.
למערכת יעדים מוגבלת, עיינו ב-PermitRemoteOpen ובמדיניות ההעברה של השרת. המסלול תלוי גם בכך שהלקוח שלכם יישאר מחובר. כאשר החיבור הזה נסגר, מסלול ה-proxy המרוחק נעלם. העברה הפוכה משנה מאיפה החיבורים נוצרים; היא אינה מספקת proxy עצמאי שאינו תלוי בהפעלת SSH.