Forwarded from לומדים לינוקס
לקפוץ מעל jumpbox
בלא מעט מערכות יש נוהל אבטחה שאין גישת ssh ישירה לשרת, אלא יש מכונה אחת שמורשת להתחבר לשרת ב ssh וכל מי שרוצה להתחבר לשרת צריך לעבור דרך המכונה הזאת, המושג הזה ברשת מוכר בשם מכונת jumpbox
אוקי אז יש לנו מכונה jumpbox ואנו רוצים להתחבר אליה, המסלול שנצטרך לעבוד הוא כזה
1. העתקה של המפתח הציבורי שלנו למכונת ה jumpbox
2. העתקת מפתח של מכונת ה jumpbox לשרת אליו אנו רוצים להתחבר
ואז לבצע את אותה הדרך עם חיבורי ssh
התחברות ssh לשרת ה jumpbox
התחברות נוספת משרת הjumpbox לשרת
נשמע ארוך לא?
במקום זאת אפשר להשתמש בתכונה של ssh ולהגדיר לו רצף של מכונות שבכולן הוא ישתמש באותו מפתח פרטי כדי להזדהות במידה ויש לנו מפתח ציבורי במכונה נוכל להמשיך למכונת היעד, זה נראה כך
אנו משתמשים בדגל -J כדי להכריז מהי מכונת ה jumpbox שלנו, ולאחר מכן לאיזה שרת אנו רוצים להתחבר דרכה, ssh הולך למכונה הראשונה מכונת ה jumpbox ומנסה למצוא התאמה בין המפתח הציבורי שנמצא במכונה למפתח הפרטי שנמצא אצלנו על המחשב
במידה והמפתח הציבורי שלנו נמצא במכונה, ssh יעבור למכונה הבאה דרך מכונת ה jumpbox וינסה להתחבר ממכונת ה jumpbox לשרת, אם המפתח הציבורי שלנו נמצא גם על השרת ssh יבדוק התאמה של המפתח הציבורי מול המפתח הפרטי שנמצא על המחשב שלנו ונוכל לעבוד על השרת בצורה "ישירה"
#ssh
#jumpbox
@learnlinuxnote
בלא מעט מערכות יש נוהל אבטחה שאין גישת ssh ישירה לשרת, אלא יש מכונה אחת שמורשת להתחבר לשרת ב ssh וכל מי שרוצה להתחבר לשרת צריך לעבור דרך המכונה הזאת, המושג הזה ברשת מוכר בשם מכונת jumpbox
אוקי אז יש לנו מכונה jumpbox ואנו רוצים להתחבר אליה, המסלול שנצטרך לעבוד הוא כזה
1. העתקה של המפתח הציבורי שלנו למכונת ה jumpbox
2. העתקת מפתח של מכונת ה jumpbox לשרת אליו אנו רוצים להתחבר
ואז לבצע את אותה הדרך עם חיבורי ssh
התחברות ssh לשרת ה jumpbox
התחברות נוספת משרת הjumpbox לשרת
נשמע ארוך לא?
במקום זאת אפשר להשתמש בתכונה של ssh ולהגדיר לו רצף של מכונות שבכולן הוא ישתמש באותו מפתח פרטי כדי להזדהות במידה ויש לנו מפתח ציבורי במכונה נוכל להמשיך למכונת היעד, זה נראה כך
ssh -J myuser@jumpbox myuser@isolated.server
אנו משתמשים בדגל -J כדי להכריז מהי מכונת ה jumpbox שלנו, ולאחר מכן לאיזה שרת אנו רוצים להתחבר דרכה, ssh הולך למכונה הראשונה מכונת ה jumpbox ומנסה למצוא התאמה בין המפתח הציבורי שנמצא במכונה למפתח הפרטי שנמצא אצלנו על המחשב
במידה והמפתח הציבורי שלנו נמצא במכונה, ssh יעבור למכונה הבאה דרך מכונת ה jumpbox וינסה להתחבר ממכונת ה jumpbox לשרת, אם המפתח הציבורי שלנו נמצא גם על השרת ssh יבדוק התאמה של המפתח הציבורי מול המפתח הפרטי שנמצא על המחשב שלנו ונוכל לעבוד על השרת בצורה "ישירה"
#ssh
#jumpbox
@learnlinuxnote
This media is not supported in your browser
VIEW IN TELEGRAM
לנהל ssh
רמת קושי: #beginners
כמעט לכולנו יצא לעבוד עם ssh להתחבר ולהריץ פקודות ממכונה אחת לאחרת
בכדי להגדיר חיבורים רק למשתמש ניתן להוסיף את הערך הבא לקובץ
למשתמשי vscode ישנו תוסף מעולה שמנהל התחברויות ssh ומתבסס על קובץ הconfig המדובר
#ssh
#vscode
@bash_tips
רמת קושי: #beginners
כמעט לכולנו יצא לעבוד עם ssh להתחבר ולהריץ פקודות ממכונה אחת לאחרת
$ ssh user@hostמה שלא כולם יודעים זה שאפשר לשמור ולנהל התחברויות על ידי שימוש בקובץ config, ניתן אפילו לתת להן שמות והגדרות ספציפיות לכל התחברות.
$ ssh user@host "cat /etc/nginx/nginx.conf"
בכדי להגדיר חיבורים רק למשתמש ניתן להוסיף את הערך הבא לקובץ
~/.ssh/config
, בכדי להוסיף הגדרות לכלל משתמשי המערכת ניתן לערוך את הקובץ /etc/ssh/ssh_config
או להוסיף קובץ הגדרות תחת הנתיב /etc/ssh/ssh_config.d/
$ cat ~/.ssh/configלצורך הדוגמה כך נראה קובץ ההגדרות שלנו, הגדרנו 2 מכונות ונתנו שם לכל מכונה, כעת כל פעם שנרצה להתחבר למכונה מסויימת נצטרך רק לקרוא בשמה
Host smtp-prod
HostName 10.248.13.216
User ec2-user
Host smtp-test
HostName 10.247.13.215
User ec2-user
$ ssh smtp-prodנוכל להרחיב את סט ההגדרות ולהגדיר key ספציפי לכל התחברות, או אפילו להגדיר התחברות למכונה דרך מכונה אחרת (Jumpbox)
למשתמשי vscode ישנו תוסף מעולה שמנהל התחברויות ssh ומתבסס על קובץ הconfig המדובר
#ssh
#vscode
@bash_tips