דף הבית » איך ל » כיצד להשתמש מנהרה SSH לגשת שרתים מוגבלים ו עיון מאובטח

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

    לקוח SSH מתחבר לשרת Secure Shell, המאפשר לך להפעיל פקודות מסוף כאילו היית יושב מול מחשב אחר. אבל לקוח SSH גם מאפשר לך "מנהרה" יציאה בין המערכת המקומית שלך לשרת SSH מרוחק.

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

    אתה יכול לעשות את זה עם ssh הפקודה כללה על לינוקס, macOS, ומערכות הפעלה אחרות כמו UNIX. ב- Windows, אשר אינו כולל מובנית ssh הפקודה, אנו ממליצים על כלי חינם PuTTY להתחבר שרתי SSH. הוא תומך SSH מנהור, מדי.

    העברת נמל מקומי: הפוך מרחוק משאבים נגיש על המערכת המקומית

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

    לשם כך, אתה יוצר חיבור SSH עם שרת SSH ואמור ללקוח להעביר את התנועה מיציאה ספציפית מהמחשב המקומי שלך - לדוגמה, יציאה 1234 - לכתובת של שרת מסד הנתונים והיציאה שלו ברשת המשרד. לכן, כאשר אתה מנסה לגשת לשרת מסד הנתונים ביציאה 1234 המחשב הנוכחי שלך, "localhost", כי התנועה היא "מנהור" באופן אוטומטי על חיבור SSH ונשלח לשרת מסד הנתונים. שרת SSH יושב באמצע, מעביר את התנועה קדימה ואחורה. ניתן להשתמש בכל שורת פקודה או כלי גרפי לגשת לשרת מסד הנתונים כאילו הוא פועל במחשב המקומי.

    כדי להשתמש בהעברה מקומית, התחבר לשרת SSH בדרך כלל, אלא גם ספק את -L ויכוח. התחביר הוא:

    ssh -L local_port: remote_address: remote_port [email protected]

    לדוגמה, נניח ששרת מסד הנתונים במשרד שלך נמצא בכתובת 192.168.1.111 ברשת המשרד. יש לך גישה לשרת SSH של המשרד ב ssh.youroffice.com , ואת חשבון המשתמש שלך בשרת SSH הוא בוב . במקרה כזה, הפקודה שלך תיראה כך:

    ssh-8888: 192.168.1.111: 1234 [email protected]

    לאחר הפעלת הפקודה, תוכל לגשת לשרת מסד הנתונים ביציאה 8888 ב- localhost. לכן, אם שרת מסד הנתונים הציע גישה לאינטרנט, אתה יכול לחבר http: // localhost: 8888 לתוך דפדפן האינטרנט שלך כדי לגשת אליו. אם היה לך כלי שורת פקודה שדורש את כתובת הרשת של מסד נתונים, היית מציין אותו ב- localhost: 8888. כל התנועה שנשלחו ליציאה 8888 במחשב שלך תועבר ל 192.168.1.111:1234 ברשת המשרד שלך.

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

    במקרה זה, אתה יכול להפעיל פקודה כמו הבאה:

    ssh -L 8888: localhost: 1234 [email protected]

    כאשר תנסה לגשת לשרת מסד הנתונים ביציאה 8888 במחשב הנוכחי שלך, התנועה תישלח דרך חיבור SSH. כאשר היא מגיעה למערכת המפעילה את שרת SSH, שרת SSH ישלח אותו ליציאה 1234 ב- localhost, שהוא אותו מחשב שבו פועל שרת SSH עצמו. אז "localhost" בפקודה לעיל פירושו "localhost" מנקודת המבט של השרת המרוחק.

    כדי לעשות זאת ביישום PuTTY ב- Windows, בחר חיבור מנהרות. בחר באפשרות "מקומי". עבור "יציאת מקור", הזן את היציאה המקומית. עבור "יעד", הזן את כתובת היעד ואת היציאה בטופס form_address טופס: remote_port.

    לדוגמה, אם אתה רוצה להגדיר את המנהרה SSH זהה לעיל, אתה צריך להיכנס 8888 כמו יציאת המקור ו 1234 כיעד. לחץ על "הוסף" ולאחר מכן לחץ על "פתח" כדי לפתוח את חיבור SSH. אתה גם צריך להזין את הכתובת ואת היציאה של שרת SSH עצמו על המסך "מושב" הראשי לפני חיבור, כמובן.

    העברת הנמל מרחוק: הפוך משאבים מקומיים נגיש על מערכת מרחוק

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

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

    כדי להשתמש בהעברה מרחוק, השתמש ב ssh הפקודה עם -R ויכוח. התחביר הוא במידה רבה זהה לזה של ההעברה המקומית:

    ssh -R remote_port: local_address: local_port [email protected]

    נניח שברצונך להפוך את יישום השרת להאזנה ביציאה 1234 במחשב המקומי הזמין ביציאה 8888 בשרת SSH המרוחק. כתובת שרת SSH היא ssh.youroffice.com ואת שם המשתמש שלך בשרת SSH הוא בוב. הפעלת את הפקודה הבאה:

    ssh -R 8888: localhost: 1234 [email protected]

    לאחר מכן מישהו יכול להתחבר לשרת SSH ביציאה 8888 וכי חיבור יהיה מנהרה ליישום השרת פועל ביציאה 1234 במחשב המקומי שיצרת את החיבור מ.

    כדי לעשות זאת ב- PuTTY ב- Windows, בחר חיבור מנהרות. בחר באפשרות "מרחוק". עבור "יציאת מקור", הזן את היציאה מרחוק. עבור "יעד", הזן את כתובת היעד ואת היציאה בטופס local_address: local_port.

    לדוגמה, אם ברצונך להגדיר את הדוגמה שלמעלה, עליך להזין 8888 כמו יציאת המקור ו 1234 כיעד. לחץ על "הוסף" ולאחר מכן לחץ על "פתח" כדי לפתוח את חיבור SSH. אתה גם צריך להזין את הכתובת ואת היציאה של שרת SSH עצמו על המסך "מושב" הראשי לפני חיבור, כמובן.

    אנשים יוכלו להתחבר ליציאה 8888 בשרת SSH והתנועה שלהם תתבצע בנמל 1234 במערכת המקומית.

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

    העברת נמל דינמי: השתמש בשרת SSH שלך כשרת פרוקסי

    יש גם "העברת יציאות דינמית", אשר פועלת באופן דומה proxy או VPN. הלקוח SSH תיצור proxy SOCKS אתה יכול להגדיר יישומים לשימוש. כל התנועה שנשלחה דרך ה- proxy תישלח דרך שרת ה- SSH. הדבר דומה להעברה מקומית - היא דורשת תנועה מקומית שנשלחה ליציאה מסוימת במחשב ושולחת אותה דרך חיבור SSH למיקום מרוחק.

    לדוגמה, נניח שאתה משתמש ברשת Wi-Fi ציבורית. אתה רוצה לגלוש בצורה מאובטחת מבלי להיות חטט. אם יש לך גישה לשרת SSH בבית, תוכל להתחבר אליו ולהשתמש בהעברת יציאה דינמית. הלקוח SSH תיצור פרוקסי SOCKS במחשב. כל התנועה שנשלחה לאותו שרת proxy תישלח דרך חיבור שרת SSH. אף אחד לא עוקב אחר רשת ה- Wi-Fi הציבורית יוכל לעקוב אחר הגלישה שלך או לצנזר את האתרים שאליהם תוכל לגשת. מנקודת המבט של כל אתרי האינטרנט שאתה מבקר, זה יהיה כאילו היית יושב מול המחשב בבית. זה גם אומר שאתה יכול להשתמש הטריק הזה כדי לגשת לאתרים בארה"ב בלבד בזמן מחוץ לארה"ב, בהנחה שיש לך גישה לשרת SSH בארה"ב, כמובן.

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

    כדי להשתמש בהעברה דינמית, הפעל את הפקודה ssh עם ויכוח, כך:

    ssh -D local_port [email protected]

    לדוגמה, נניח שיש לך גישה לשרת SSH בכתובת ssh.yourhome.com ואת שם המשתמש שלך בשרת SSH הוא בוב . ברצונך להשתמש בהעברה דינאמית כדי לפתוח פרוקסי SOCKS ביציאה 8888 במחשב הנוכחי. הפעלת את הפקודה הבאה:

    ssh-8888 [email protected]

    לאחר מכן תוכל להגדיר דפדפן אינטרנט או יישום אחר כדי להשתמש בכתובת ה- IP המקומית שלך (127.0.01) ובפורט 8888. כל התנועה מיישום זה תנותב מחדש דרך המנהרה.

    כדי לעשות זאת ב- PuTTY ב- Windows, בחר חיבור מנהרות. בחר באפשרות "דינמי". עבור "יציאת מקור", הזן את היציאה המקומית.

    לדוגמה, אם ברצונך ליצור פרוקסי SOCKS ביציאה 8888, עליך להזין 8888 כמו יציאת המקור. לחץ על "הוסף" ולאחר מכן לחץ על "פתח" כדי לפתוח את חיבור SSH. אתה גם צריך להזין את הכתובת ואת היציאה של שרת SSH עצמו על המסך "מושב" הראשי לפני חיבור, כמובן.

    לאחר מכן תוכל להגדיר יישום כדי לגשת פרוקסי SOCKS במחשב המקומי שלך (כלומר, כתובת IP 127.0.0.1, אשר מצביע על המחשב המקומי שלך) ולציין את היציאה הנכונה.

    לדוגמה, תוכל להגדיר את Firefox כדי להשתמש ב- Proxy של SOCKS. אפשרות זו שימושית במיוחד מכיוון ש- Firefox יכול לקבל הגדרות proxy משלו ואינו צריך להשתמש בהגדרות פרוקסי של המערכת כולה. Firefox ישלח את התנועה דרך המנהרה SSH, בעוד יישומים אחרים ישתמשו חיבור האינטרנט שלך בדרך כלל.

    כאשר אתה עושה את זה ב- Firefox, בחר "ידנית proxy תצורה", הזן "127.0.0.1" לתוך תיבת מארח SOCKS, והזן את היציאה הדינמית לתוך התיבה "יציאה". השאר את ה- HTTP פרוקסי, פרוקסי SSL ו- FTP Proxy תיבות ריקות.

    המנהרה תישאר פעילה ופתוחה כל עוד יש לך חיבור SSH הפעלה פתוחה. כאשר תסיים את הפגישה SSH שלך להתנתק משרת, המנהרה תהיה גם סגורה. רק חבר מחדש עם הפקודה המתאימה (או את האפשרויות המתאימות ב PuTTY) כדי לפתוח מחדש את המנהרה.