RU EN HE
אודות פרויקטים בלוג
← חזרה לבלוג
רשתות ותשתיות

מנהרות SSH בקונטיינרים: גישה מאובטחת לשירותים מרוחקים

מבוא

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

Containerfile למנהרת SSH

הקונטיינר מבוסס על Alpine עם לקוח OpenSSH ו-netcat. סקריפט המנהרה מטפל בחיבור ובחיבור מחדש אוטומטי. HEALTHCHECK מאמת שהפורט המקומי נגיש.

סקריפט מנהרה (tunnel.sh)

הסקריפט משתמש ב-set -euo pipefail לטיפול קפדני בשגיאות. ssh-keyscan מוסיף אוטומטית את מפתח המארח המרוחק. לולאת while אינסופית עם sleep מבטיחה חיבור מחדש אוטומטי.

בדיקות תקינות

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

העברת פורטים (-L 0.0.0.0:port)

פרט קריטי — קשירה ל-0.0.0.0 במקום localhost. בתוך פוד Podman, קונטיינרים מתקשרים דרך מרחב רשת משותף. מנהרה הקשורה ל-0.0.0.0 נגישה לכל קונטיינרי הפוד.

ניהול known_hosts

ssh-keyscan בהפעלת הקונטיינר מוסיף אוטומטית את מפתח המארח המרוחק. לאבטחה משופרת, ניתן לספק known_hosts סטטי דרך volume או Podman secret.

מקרי שימוש

אנחנו משתמשים במנהרות SSH בקונטיינרים לגישה ל-Asterisk ARI, מסדי נתונים PostgreSQL ברשתות מאובטחות, ושירותי API הנגישים רק מסגמנטי רשת ספציפיים.

סיכום

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