עם גישת SSH מורשית לשרת, OpenSSH יכול ליצור מאזין SOCKS במחשב שלכם. חיבור SSH נושא את התעבורה המועברת, והשרת המרוחק יוצר את החיבור ליעד.

מאזין בלולאה המקומית בלבד

ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]

החליפו את החשבון ושם המארח. שרת SSH חייב להתיר העברה; המנהל יכול להגביל העברה ויעדים בנפרד מההתחברות לחשבון.

-D יוצר העברה דינמית, וכתובת הלולאה המקומית המפורשת מגבילה את המאזין למחשב הזה. -N משמיט פקודה מרוחקת, ו־-T משמיט מסוף מדומה. ControlPath=none נמנע מ־master משותף קיים, ו־ForkAfterAuthentication=no משאיר את ההפעלה הזאת בחזית.

שמרו את התהליך פועל בעת השימוש בפרוקסי. אם יציאה 1080 תפוסה, בחרו יציאה גבוהה אחרת שאינה בשימוש ועדכנו את הלקוח. ExitOnForwardFailure=yes גורם ל־SSH לצאת אם אי אפשר ליצור מאזין.

שימוש בנקודת SOCKS

curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/

הבקשה הזאת מעבירה את הטיפול בשם היעד דרך SOCKS5. יישומים אחרים זקוקים להגדרת SOCKS משלהם; שדה פרוקסי HTTP לא יכול לדבר SOCKS עם המאזין הזה.

בדיקת התהליך שמחזיק ביציאה:

ss -ltnp 'sport = :1080'

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

משך הסשן

Ctrl-C סוגר את תהליך SSH, המאזין והחיבורים המועברים. גם חיבור SSH שנפל משבית את הפרוקסי.

ExitOnForwardFailure בודק את ההקמה. הוא אינו מסיים את SSH בכל כשל מאוחר בחיבור ליעד, ולכן בדקו בנפרד את הסשן, היציאה המקומית והבקשה ליעד.

מאמרים קשורים