העברת קבצים למכונות וירטואליות של Linux

יש אפשרויות שונות להעברת קבצים למכונות וירטואליות ב-Compute Engine, בהתאם למערכת ההפעלה של תחנת העבודה ולמערכת ההפעלה של המכונה הווירטואלית שאליה רוצים להעביר את הקבצים.

העברה מ למכונות וירטואליות של Linux
Linux או macOS
Windows

העברת קבצים באמצעות Cloud Storage

אפשר להשתמש בקטגוריות של Cloud Storage כנקודת העברה ביניכם לבין המכונות הווירטואליות. אתם יכולים להשתמש בדפדפן אינטרנט, ב-Google Cloud CLI או בשפת תכנות כדי להעביר קבצים בין Cloud Storage לבין מכונות וירטואליות של Compute Engine.

אפשר להשתמש בסוגים שונים של פרטי כניסה בשלב ההעלאה ובשלב ההורדה, כדי להתאים את התהליך לצרכים שלכם:

כדי להשתמש ב-Cloud Storage להעברת קבצים בין מחשב למכונה וירטואלית, מבצעים את הפעולות הבאות:

  1. יוצרים קטגוריה של Cloud Storage אם אין קטגוריה קיימת שאפשר להשתמש בה להעברת קבצים.
  2. משתמשים בהרשאות IAM כדי לשנות את הגישה לקטגוריה:
    • לחשבונות שמעלים קבצים לקטגוריה צריכה להיות הרשאה מסוג אדמין של אובייקטים ב-Storage.
    • לחשבונות שמורידים קבצים צריכה להיות הרשאה לתפקיד צפייה באובייקט אחסון.
  3. מתחברים למכשיר המקור ומעלים את הקבצים לקטגוריה.
  4. מתחברים למכשיר היעד ומורידים את הקבצים מהקטגוריה כדי להשלים את העברת הקבצים.
  5. אופציונלי: מוחקים קבצים שאתם כבר לא צריכים כדי למנוע חיובים לא רצויים על אחסון.

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

העברת קבצים באמצעות SSH בדפדפן

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

העלאה ל-VM

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

    SSH button next to instance name.

  3. אחרי שהחיבור נוצר, לוחצים על סמל ההעלאה .

    תיבת הדו-שיח להעלאה תיפתח.

  4. בוחרים את הקבצים שרוצים להעלות.
  5. לוחצים על העלאת קבצים כדי להעלות את הקבצים. הקובץ יועלה לספרייה /home/USER.

הורדה מהמכונה הווירטואלית

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

    SSH button next to instance name.

  3. אחרי שהחיבור נוצר, לוחצים על סמל ההורדה .

    תיבת הדו-שיח של ההורדה תיפתח.

  4. בשדה נתיב, מזינים את הנתיב היחסי של הקובץ להורדה.
  5. כדי להוריד את הקובץ, לוחצים על הורדה. הקובץ יורד לתיקיית ההורדות שמוגדרת כברירת מחדל בתחנת העבודה.

העברת קבצים באמצעות Google Cloud CLI

‫Google Cloud CLI מספק כלי להעברת קבצים באמצעות Secure Copy Protocol‏ (SCP) דרך חיבור SSH קיים.

כדי להעביר קבצים באמצעות SCP:

  1. בודקים את כללי חומת האש ומוודאים שחיבורי SSH ביציאה 22 מותרים. אם לא, יוצרים כלל של חומת אש ל-SSH.
  2. מוודאים שה-CLI של gcloud מותקן במכשיר המקור שמכיל את הקבצים שרוצים להעביר.
  3. כדי להעביר את הקבצים למחשב היעד, משתמשים בפקודה gcloud compute scp.

בדוגמה הבאה מועתק קובץ מתחנת העבודה לספריית הבית של ה-VM:

gcloud compute scp LOCAL_FILE_PATH VM_NAME:REMOTE_DIR

מחליפים את מה שכתוב בשדות הבאים:

  • LOCAL_FILE_PATH: הנתיב לקובץ במחשב
  • VM_NAME: השם של ה-VM
  • REMOTE_DIR: ספרייה במחשב המרוחק

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

gcloud compute scp --recurse VM_NAME:REMOTE_DIR LOCAL_FILE_PATH

מידע נוסף מופיע ב מאמרי העזרה של gcloud compute scp.

העברת קבצים באמצעות SCP בתחנות עבודה של Linux ו-macOS

הכלי scp של שורת הפקודה פועל באופן דומה לפקודה gcloud compute scp, אבל הוא מחייב ניהול ידני של מפתחות ה-SSH.

כדי להעביר קבצים באמצעות SCP, צריך שיהיה ברשת שבה המכונה הווירטואלית משתמשת כלל חומת אש שמאפשר חיבורי SSH ביציאה 22. כדי לוודא שכלל חומת האש הזה קיים, מחפשים במסוף כלל חומת אש שמאפשר חיבורים ל-tcp:22. Google Cloud

מעבר לכללי חומת אש

אם אין לכם כלל חומת אש שמאפשר חיבורי SSH ביציאה 22, צריך ליצור את כלל חומת האש.

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

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

  2. מאתרים את כתובת ה-IP החיצונית של המכונה הווירטואלית שאליה רוצים לשלוח קבצים.

    1. נכנסים לדף VM instances במסוף Google Cloud .

      כניסה לדף VM instances

    2. ברשימת המכונות הווירטואליות, מוצאים את כתובת ה-IP החיצונית בעמודה External IP של המכונה הווירטואלית הרלוונטית.

  3. משתמשים בכלי scp כדי להעתיק קובץ מתחנת העבודה לספריית הבית של מכונת ה-VM היעד. בדוגמה הזו, המפתח הפרטי נמצא בנתיב ~/.ssh/my-ssh-key.

    scp -i ~/.ssh/my-ssh-key LOCAL_FILE_PATH USERNAME@IPv4_ADDRESS:~
    

    לכתובת IPv6 חיצונית, משתמשים בתחביר הבא:

    scp -6 -i ~/.ssh/IDENTITY_FILE LOCAL_FILE_PATH USERNAME@[IPv6_ADDRESS]:~/
    

    מחליפים את מה שכתוב בשדות הבאים:

    • IDENTITY_FILE: הקובץ שמכיל את הזהות (המפתח הפרטי) לאימות מפתח ציבורי
    • LOCAL_FILE_PATH: השם של הקובץ המקומי שרוצים להעלות
    • USERNAME: שם המשתמש שלכם
    • IPv4_ADDRESS או IPv6_ADDRESS: כתובת ה-IP החיצונית של ה-VM

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

scp -i ~/.sshIDENTITY_FILE USERNAME@IP_ADDRESS:REMOTE_FILE_PATH LOCAL_FILE_PATH

מחליפים את מה שכתוב בשדות הבאים:

  • IDENTITY_FILE: הקובץ שמכיל את הזהות (המפתח הפרטי) לאימות מפתח ציבורי
  • USERNAME: שם המשתמש שלכם
  • IP_ADDRESS: כתובת ה-IP החיצונית של ה-VM
  • REMOTE_FILE_PATH: השם של הקובץ המרוחק שרוצים להוריד
  • LOCAL_FILE_PATH: המיקום בתחנת העבודה שבו רוצים להוריד את הקובץ

העברת קבצים באמצעות WinSCP בתחנות עבודה של Windows

במחשבי Windows, לקוח WinSCP מאפשר לכם לנהל קבצים במופעים שלכם באמצעות ממשק של מנהל הקבצים והתיקיות.

ב-WinSCP נעשה שימוש באותם קובצי מפתח שבהם אתם משתמשים כדי להתחבר למכונות וירטואליות באמצעות PuTTY.

  1. אם לא הגדרתם אימות SSH מבוסס-מפתח למופע, אתם צריכים לבצע את הפעולות הבאות:

    1. יצירת זוג מפתחות SSH באמצעות PuTTYgen. המפתח הפרטי של SSH צריך להיות בפורמט .ppk, שהוא ברירת המחדל למפתחות שנוצרו על ידי PuTTYgen.

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

  2. מאתרים את כתובת ה-IP החיצונית של המכונה הווירטואלית שאליה רוצים לשלוח קבצים.

    1. נכנסים לדף VM instances במסוף Google Cloud .

      כניסה לדף VM instances

    2. ברשימת המכונות הווירטואליות, מוצאים את כתובת ה-IP החיצונית בעמודה External IP של המכונה הווירטואלית.
  3. מורידים ומתקינים את WinSCP. הגדרות ההתקנה שמוגדרות כברירת מחדל מתאימות לרוב המשתמשים.

  4. מפעילים את התוכנה WinSCP. ייפתח חלון התחברות שבו אפשר להגדיר את הגדרות החיבור.

  5. ב-WinSCP, מגדירים את הגדרות החיבור.

    1. בוחרים באפשרות SCP בתור פרוטוקול העברת הקבצים בשדה File protocol (פרוטוקול קובץ).

    2. בשדה שם המארח, מציינים את כתובת ה-IP החיצונית של המכונה הווירטואלית שאליה רוצים להתחבר.

    3. בשדה שם משתמש, מציינים את שם המשתמש ב-Google שמשמש לגישה לפרויקט. בדוגמה הזו, המשתמש הוא example-user.

      הגדרת פרוטוקול הקובץ ל-SCP, שם המארח ל-104.196.31.103 ושם המשתמש ל-example-user.

  6. לוחצים על התפריט הנפתח מתקדם כדי לפתוח את ההגדרות המתקדמות, ועוברים אל SSH > אימות.

  7. בתיבה Private key file (קובץ מפתח פרטי), מציינים את הנתיב לקובץ המפתח הפרטי של זוג מפתחות ה-SSH שיצרתם עבור ה-VM.

    הגדרת קובץ המפתח הפרטי ל-my-ssh-key.ppk בתיבת הדו-שיח 'הגדרות מתקדמות של האתר'.

  8. לוחצים על אישור כדי לשמור את ההגדרות המתקדמות.

  9. לוחצים על Login (כניסה) כדי להתחבר ל-VM. אם החיבור מצליח, מערכת הקבצים המקומית תיפתח בחלון בצד ימין ומערכת הקבצים של המכונה הווירטואלית תיפתח בצד שמאל. אתם יכולים לנווט בספריות שונות במערכות הקבצים האלה ולגרור קבצים כדי להעביר אותם אל המכונה הווירטואלית וממנה.

  10. סביר להניח שאין לכם הרשאה לנהל את רוב הקבצים מחוץ לספריית הבית של המכונה הווירטואלית. עוברים לספריית הבית של מכונת ה-VM:

    /home/USERNAME
    
  11. משתמשים בממשק WinSCP כדי להעביר קבצים בין תחנת העבודה לבין המכונה הווירטואלית.

  12. אחרי שמעתיקים את הקבצים למכונה הווירטואלית, צריך להתחבר למופע כדי להריץ או להעביר קבצים עם הרשאות מלאות של sudo.

המאמרים הבאים