השתמש ב- SSH כדי להשתמש באופן מאובטח ב'חיבור שולחן עבודה מרוחק' ל- Windows

עודכן דף :
תאריך יצירת דף :

סביבת הפעלה

חיבור מרחוק ל- Windows
  • חלונות 11
חיבור מרחוק מ- Windows
  • חלונות 10
OpenSSH
  • OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

דרישות מוקדמות

חיבור מרחוק ל- Windows
  • Windows 10 ואילך (נדרשת מהדורה Pro או מהדורה אחרת). עם זאת, הדבר אינו חל אם ניתן להכין OpenSSH בנפרד.
  • Windows Server 2019 ואילך. עם זאת, הדבר אינו חל אם ניתן להכין OpenSSH בנפרד.
חיבור מרחוק מ- Windows
  • Windows (רוב הגירסאות אפשריות)
  • Windows Server (רוב הגירסאות אפשריות)

בהתחלה

לאחר בניית סביבת Windows באינטרנט בענן או VPS, לעתים קרובות אתה משתמש בחיבור שולחן עבודה מרוחק כדי להפעיל את היעד המרוחק של Windows.

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

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

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

במקרה זה, נשתמש ב - OpenSSH כדי לבנות את סביבת SSH.

בניית סביבת Windows של יעד מרוחק

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

אם אתה בונה בסביבה שאינה Azure, ודא שאתה נמצא במיקום שבו באפשרותך ליצור חיבור שולחן עבודה מרוחק ל- Windows עבור הסביבה שלך.

בנוסף, גירסת Windows מיועדת ל- Windows 10 ואילך, או Windows Server 2019 ואילך, מה שמקל על בניית סביבת OpenSSH. זה יכול להיות מיושם בסביבה מוקדמת יותר, אבל זה לוקח קצת יותר זמן ומאמץ כי אתה צריך להוריד ולהגדיר OpenSSH בנפרד.

במקרה זה, ההליך זהה להליך עבור SFTP, לכן עיין בעצות הבאות.

הגדרת OpenSSH

מכאן, נעבוד בסביבת Windows מרוחקת. תחילה, התחבר ליעד המרוחק באמצעות חיבור לשולחן עבודה מרוחק. אם הענן או ה-VPS שלכם מספקים קונסולה, תוכלו להשתמש בה. מכיוון שאנו פועלים הפעם בסביבת Windows 11, השלבים עשויים להיות שונים במקצת בגרסאות אחרות.

פתח את תפריט התחלה ובחר הגדרות.

בחר יישום.

בחר תכונות אופציונליות.

בחר הצג תכונות.

יש "OpenSSH שרת" קצת יותר נמוך ברשימה, אז לבדוק את זה ולחץ על "הבא".

לחץ על Install.

כאשר ההתקנה הושלמה ו "OpenSSH שרת" נוסף לרשימה להלן, סיימת.

תצורת שירות עבור OpenSSH

לחץ לחיצה ימנית על תפריט התחלה ובחר ניהול מחשב.

בחר שירותים מהרשימה מימין.

מצא "OpenSSH SSH Server" ברשימה האמצעית, לחץ לחיצה ימנית ובחר "מאפיינים".

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

מכיוון שהוא לא פועל כרגע, אני אתחיל אותו כאן, כולל הגדרתו.

לאחר ההפעלה, לחץ על בסדר כפתור כדי לסגור אותו. זה צריך לרוץ ברשימה.

הגדרת OpenSSH

במצב הראשוני, אימות באמצעות מפתח פרטי מושבת, לכן הגדר אותו. פתח את התיקיה הבאה ב- Explorer.

  • C:\ProgramData\ssh

עם זאת, התיקיה לעיל עשויה להיות תיקיה מוסתרת, אז אנא הפוך אותה לגלויה על ידי הגדרת אפשרויות Explorer.

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

PubkeyAuthentication yes חפש: פריט זה הוא הגדרה הקובעת אם לאפשר אימות מפתח סודי. כברירת מחדל, הוא מושבת והוא אומר , אבל הוא העיר החוצה, yes אז בטל את ההערה שלו.

לפני השינוי

#PubkeyAuthentication yes

לאחר השינוי

PubkeyAuthentication yes

PasswordAuthentication yes חפש: פריט זה הוא הגדרה הקובעת אם לאפשר אימות סיסמה. הוא מופעל כברירת מחדל, וגם אם תפעיל אימות מפתח פרטי, הוא חסר משמעות מנקודת מבט של אבטחה אם הוא נשאר מופעל, לכן בטל את ההערה והגדר no .

לפני השינוי

#PasswordAuthentication yes

לאחר השינוי

PasswordAuthentication no

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

לפני השינוי

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

לאחר השינוי

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

לאחר שמירת הקובץ לאחר OpenSSH SSH Server השינוי, הפעל מחדש את השירות כדי לשקף את ההגדרות.

אם ברצונך לשנות את היציאה

אם ברצונך לשנות את יציאת SSH, שנה את הפעולות הבאות.

לפני השינוי

#Port 22

לאחר השינוי

#Port <任意の番号>

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

אם תשנה את מספר היציאה, עליך לציין יציאה שונה מ- 22 בעת ההתחברות.

יצירת מפתחות פרטיים וציבוריים

זוהי משימה בצד הלקוח. עם זאת, זה לא ממש משנה איפה אתה עובד. עם זאת, היזהר שלא להדליף את המפתח הפרטי שיצרת.

אם יש לך Windows 10 ואילך, Windows Server 2019 ואילך, לקוח OpenSSH מותקן כברירת מחדל, כך שתוכל ליצור אותו בקלות באמצעות פקודה. בסביבות אחרות, יהיה עליך להתקין לקוח OpenSSH נפרד או להשתמש בכלי נפרד.

העצות הבאות הן עבור SFTP, אך עיין בהן להגדרת לקוח OpenSSH.

בסביבת הלקוח, הפעל שורת פקודה, PowerShell, מסוף או כל כלי שיכול לבצע פקודות.

מכיוון שתיצור קובץ, עבור cd לכל ספרייה עם פקודה.

הפעל את הפקודה הבאה:

ssh-keygen -t rsa -f id_rsa

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

מפתח ציבורי (id_rsa.pub) ומפתח פרטי (id_rsa) נוצרו.

המפתח הציבורי (id_rsa.pub) יוצב ביעד המרוחק מאוחר יותר. המפתח הפרטי יכול להיות ממוקם בכל מקום בלקוח המרוחק, אך עליו להיות ממוקם בתיקיה שרק החשבון המשמש למטרות אבטחה יכול לגשת אליה. בעיקרון, אני חושב שאין בעיה אם אתה מציב אותו בתיקייה הבאה בצד הלקוח. אם אתה משתמש בלקוח OpenSSH, הוא יאתר לתיקיה זו כברירת מחדל.

  • C:\Users\<ユーザー名>\.ssh

אם אין באפשרותך ליצור את התיקיה לעיל ב- Explorer, באפשרותך ליצור אותה באמצעות הפקודה הבאה.

cd C:\Users\<ユーザー名>
mkdir .ssh

מיקום מפתחות ציבוריים

זוהי פעולה מרחוק. מקם את המפתח הציבורי שנוצר (id_rsa.pub) ביעד המרוחק. העבר קובץ זה לתיקיה הבאה: <ユーザー名> הוא שם חשבון המשתמש שאליו תתחבר כאשר תתחבר מרחוק בפועל.

  • C:\Users\<ユーザー名>\.ssh

אם אין לך תיקיה ואינך מצליח ליצור תיקיה ב- Explorer, באפשרותך ליצור תיקיה באמצעות הפקודה הבאה.

cd C:\Users\<ユーザー名>
mkdir .ssh

שנה את קובץ authorized_keys המפתח הציבורי שנפרס ל- . זהו.

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

התחבר עם SSH

בעת התחברות עם הפקודה OpenSSH

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

הפעל את כלי הפקודה שבחרת (שורת הפקודה, PowerShell, מסוף).

הזן את הפקודה הבאה:

תבנית פקודה

ssh -i <秘密鍵ファイルパス> -L <ローカルの空いているポート>:127.0.0.1:3389 <接続先のユーザーアカウント名>@<接続先サーバーIPアドレス、またはホスト名>

להלן הסבר על הפרמטרים. הגדר אותו בהתאם לסביבה שלך.

שם
תיאור פרמטר משתנה
ש"ש הצהרה לשימוש ב- SSH עם OpenSSH.
-אני הצהרה לשימוש בקובץ מפתח פרטי.
< נתיב קובץ מפתח פרטי> תאר את המיקום של קובץ המפתח הפרטי שיצרת. C:\Users\<ユーザー名>\.ssh הנתיב הוא אופציונלי. אחרת, נדרש נתיב מוחלט או יחסי.
-L הצהרה זו מציינת את היציאה לשימוש מקומי ומרחוק בעת התחברות ליעד מרוחק.
< נמל מקומי חינם> 'חיבור לשולחן עבודה מרוחק' משתמש בדרך כלל ביציאה 3389, אך באפשרותך להתחבר באמצעות כל יציאה. זה לא משנה איזה מספר זה, כל עוד זה בחינם.
127.0.0.1 זוהי כתובת ה-IP של המארח שמזהה מהיכן היעד המרוחק מחובר. בעיקרון, 127.0.0.1 זה בסדר.
3389 מספר היציאה לשימוש ביעד המרוחק. היעד המרוחק מחובר בדרך כלל באמצעות יציאה 3389 עם חיבור שולחן עבודה מרוחק, כך שניתן להשאיר אותו כפי שהוא.
< שם חשבון המשתמש שאליו ברצונך להתחבר> ציין לאיזה חשבון ברצונך להתחבר ביעד המרוחק.
< כתובת IP או שם מארח של השרת שאליו יש להתחבר> מציין את שרת היעד המרוחק.

קלט לדוגמה

ssh -i id_rsa -L 13389:127.0.0.1:3389 TestUser@52.140.221.194

בפעם הראשונה, תתבקש להזין מפתח, לכן yes הקלד והקש Enter.

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

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

בעת חיבור עם PuTTY

כאן, ננסה להתחבר SSH עם כלי שנקרא PuTTY.

המרת המפתח הפרטי

ראשית, אם אתה משתמש ב- PuTTY, יהיה עליך להמיר את המפתח הפרטי. אני חושב שיש "puttygen .exe" בכלי המצורף, אז בבקשה להתחיל את זה.

בחר "המרות -> מקש ייבוא" מהתפריט.

בחר את המפתח הפרטי שיצרת, במקרה זה, "id_rsa".

אם הגדרת ביטוי סיסמה, הזן אותו.

בחר "File -> Save private key" מהתפריט.

「. קובץ .ppk".

לאחר שנוצרת, סיימת.

הגדרת PuTTY

הפעל מרק.exe.

הזן את כתובת ה- IP של הסביבה שאליה ברצונך להתחבר. אם יש לך תחום, באפשרותך להתחבר לשם תחום.

בחר Connection -> Data מהתפריט משמאל. בשדה שם משתמש לכניסה אוטומטית, הזן את שם החשבון של הסביבה שאליה ברצונך להתחבר.

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

ערך
הערות של שם פרמטר
יציאת מקור 13389 כל יציאה חופשית תעשה. אני אשתמש בו מאוחר יותר
יעד 127.0.0.1:3389

כאשר הוא נוסף, הוא אמור להיראות כך:

לאחר מכן, בחר "חיבור -> SSH -> Auth -> Cledentioals" מהתפריט בצד שמאל ולחץ על הלחצן עיון עבור "קובץ מפתח פרטי לאימות".

בחר את המפתח הפרטי ששמרת.

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

לאחר אישור השמירה, לחץ על הלחצן "פתח".

המסך הבא יוצג בעת התחברות בפעם הראשונה. לחץ על הלחצן קבל.

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

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

יצירת חיבור שולחן עבודה מרוחק באמצעות SSH

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

בעת ההתחברות, חלק המחשב אינו הכתובת המרוחקת בפועל, אלא "localhost:< > שם היציאה שצוין בחיבור SSH". בדוגמה, 13389 צוין, אז כאן נתחבר "localhost:13389".

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

אם אתה יכול להתחבר ככה, הצלחת.

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

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

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

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

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

בחרו 'כללי כניסה' מהתפריט משמאל.

ברשימה האמצעית, מצא את "שולחן עבודה מרוחק - מצב משתמש (TCP In)" ופתח את המאפיינים שלו.

בחר בכרטיסיה טווח, שנה את כתובת ה- IP המקומית לכתובות IP אלה ולחץ על הלחצן הוסף.

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

לחץ על בסדר כפתור לאישור.

לעת עתה, זה לבד הוא אמצעי נגד, אבל בואו גם להגדיר "שולחן עבודה מרוחק - מצב משתמש (UDP לקבל)".

ודא שאינך יכול להתחבר מרחוק לשום דבר שאינו SSH

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

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

תקציר

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

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