מדריך מעשי / ניסוי מעשי ב-Oracle

הקמת VPS Ubuntu חינם ב-Oracle Cloud

מדריך זה מקים VPS Ubuntu חינם באמצעות מכונת Oracle Always Free זכאית, עד לחיבור SSH מאומת מהמחשב שלכם. נדרשים חשבון מאושר, קיבולת זמינה ויתרת מכסה מספקת לכל הרכיבים שנבחרו.

· עודכן ב- · כ-5 דקות קריאה

במדריך הזה

בוחרים מכונה אחת קטנה ומוגדרת

הדוגמה משתמשת ב-VM.Standard.E2.1.Micro עם מעבד AMD, תמונת Ubuntu 24.04 בארכיטקטורת amd64 ודיסק אתחול של 50 GB. זו מכונה קטנה ללימוד; משאבי המעבד משותפים והזיכרון הוא 1 GB.

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

מכינים ושומרים מפתח SSH

במחשב Linux, macOS או WSL שלכם, הריצו את יצירת המפתח. אם שם הקובץ כבר קיים, בחרו שם אחר בכל השלבים; אל תדרסו מפתח פעיל. השתמשו בביטוי סיסמה ושמרו את המפתח הפרטי במחשב.

mkdir -p ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa -b 3072 -f ~/.ssh/oci-ubuntu-free
chmod 600 ~/.ssh/oci-ubuntu-free
cat ~/.ssh/oci-ubuntu-free.pub

הקובץ עם הסיומת .pub הוא המפתח הציבורי שיש להעלות לספק. הקובץ ללא הסיומת הוא פרטי ואינו מיועד להעלאה או לשליחה.

יוצרים רשת ציבורית עם SSH מוגבל

צרו VCN נפרד לניסוי, למשל 10.20.0.0/16, ותת-רשת ציבורית אזורית, למשל 10.20.1.0/24, בלי חפיפה לרשתות קיימות. הפעילו Internet Gateway והוסיפו אליו נתיב 0.0.0.0/0 בטבלת הניתוב. למכונה נדרשת גם IPv4 ציבורית.

ברשימת האבטחה הגדירו כלל ingress מסוג stateful: כתובת ה-IPv4 הציבורית הנוכחית של המחשב שלכם עם /32, פרוטוקול TCP, טווח פורטי מקור All ופורט יעד 22. השתמשו בכתובת האינטרנט ולא בכתובת הפרטית של רשת ה-Wi-Fi. שמרו כללי egress ו-ICMP נחוצים.

החליפו כלל ברירת מחדל שפותח SSH לכל האינטרנט ברשימה הנפרדת הזאת. כלל צר אינו מבטל היתר רחב ברשימה אחרת: בדקו את כל security lists וה-NSG שמקושרים למכונה. הניסוי אינו דורש NSG נוסף, NAT Gateway או מאזן עומסים. עדכנו את כלל המקור אם הכתובת שלכם משתנה.

יוצרים את מכונת Ubuntu הזכאית

פתחו Compute → Instances → Create instance באזור הבית. בחרו compartment נכון ושם כמו ubuntu-free-ssh. בחרו תמונת Ubuntu 24.04 amd64 זכאית, סוג AMD micro, דיסק אתחול של 50 GB עם הגדרות ביצועים זכאיות, תת-רשת ציבורית וכתובת ציבורית. העלו את המפתח הציבורי oci-ubuntu-free.pub.

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

שמרו את הטקסט הבא בקובץ מקומי והעלו תחת Advanced options → Management → Initialization script. הוא מבקש מ-cloud-init להציג מפתחות מארח ציבוריים וטביעות אצבע בפלט הקונסולה; אין בו מפתח פרטי.

#cloud-config
ssh:
  emit_keys_to_console: true

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

מאמתים את מפתח המארח בהיסטוריית הקונסולה

היכנסו ל-OCI Console המאומתת ופתחו את המכונה המדויקת. תחת OS Management או Resources פתחו Console connection ואז Launch Cloud Shell connection. נדרשות הרשאות מתאימות; חיבור הקונסולה מאפשר את איסוף ההיסטוריה.

פתחו Console history ואז View current history. בפלט ההפעלה הראשונה חפשו SSH HOST KEY FINGERPRINTS ושמרו אלגוריתם וטביעת אצבע SHA256 של מערכת ההפעלה האורחת. זו אינה רשימת מפתחות המשתמשים המורשים.

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

מתחברים מהמחשב ובודקים את המערכת

הריצו מקומית עם הכתובת הציבורית האמיתית. השוו אלגוריתם וטביעת אצבע לפלט הקונסולה וקבלו רק התאמה. שם המשתמש בתמונת Ubuntu הוא ubuntu ולא opc.

ssh -o StrictHostKeyChecking=ask -i ~/.ssh/oci-ubuntu-free ubuntu@203.0.113.20

לאחר הכניסה מריצים את הבדיקות בשרת:

cloud-init status --wait
cat /etc/os-release
dpkg --print-architecture
free -h
df -h /
sudo ss -lntp
sudo iptables -S

ודאו סיום cloud-init, גרסת Ubuntu 24.04, ארכיטקטורת amd64, זיכרון ודיסק מתאימים ושירות SSH מאזין. מצב error או degraded דורש בירור גם כשהכניסה מצליחה. חיבור תקין אינו מפרסם אתר ואינו מודד את ביצועי היישום.

מעדכנים בלי להחליף את חומת האש של התמונה

לאחר ש-cloud-init הסתיים ללא תקלה, עדכנו את רשימת החבילות ועברו על השדרוג לפני אישור:

sudo apt update
sudo apt upgrade

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

אל תתקינו או תפעילו UFW בתמונת Ubuntu הזאת של OCI. שמרו את כללי חומת האש המתמשכים, לרבות כללי iSCSI לדיסקי אתחול ונתונים. אתר בהמשך ידרוש כללים מתאימים ל-HTTP/HTTPS גם ברשת OCI וגם בחומת האש של האורח.

מטפלים בתקלה או מסיימים את הניסוי המזוהה

במסך קטן ניתן לגלול את הטבלה הצידה כדי לראות את כל העמודות.

תקלהבדיקה ראשונה
זמן המתנה ב-SSHכתובת ציבורית, נתיב gateway, מקור /32 וכללי גישה
Permission denied (publickey)משתמש ubuntu, מפתח פרטי והמפתח הציבורי שהועלה
טביעת אצבע שונהOCID ופלט אתחול מתוך קונסולה מהימנה
הקמה שלא הושלמההיסטוריית הקונסולה, cloud-init וגישה למקורות חבילות

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

לסיום, ייצאו את הדרוש, בחרו את ה-OCID המדויק ב-compartment הנכון ורק אז Terminate. דיסק האתחול נשמר כברירת מחדל; מחיקה קבועה נבחרת רק עבור דיסק שאינו נחוץ לאחר אימות העותק. בדקו נפחים, גיבויים, כתובות וחיבורי קונסולה שנותרו. הסירו תת-רשת או gateway רק אם אינם משמשים משאבים אחרים.

שאלות ותשובות

האם זו מכונה ציבורית או VM מקומית?

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

אפשר לבחור A1 במקום AMD micro?

ל-A1 יש ארכיטקטורת Arm ומכסה שונה. צריך לבדוק תמונה, תוכנה ומשאבים מחדש; המדריך משתמש ב-AMD micro.

מה עושים אם אין מכונה פנויה?

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

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

השלב הבא