עדכון מפתחות SSH למשתמש SFTP

במאמר הזה מוסבר איך לעדכן את מפתחות Secure Shell ‏ (SSH) שמשתמש ב-Cloud FTP יכול להשתמש בהם כדי להתחבר לשרת SFTP.

לפני שמתחילים

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

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

    יצירת זוג מפתחות SSH

    כדי ליצור זוג מפתחות SSH, משתמשים בכלי ssh-keygen. במכונת הלקוח שמתחברת לשרת ה-SFTP, מריצים את הפקודה הבאה:

    ssh-keygen -t rsa -b 4096 -f ~/.ssh/KEY_PAIR_NAME

    מחליפים את KEY_PAIR_NAME בשם של זוג המפתחות, למשל sftp_user_key.

    המפתח הציבורי נשמר בקובץ ~/.ssh/KEY_PAIR_NAME.pub.

התפקידים הנדרשים

כדי לקבל את ההרשאה שנדרשת לעדכון משתמשי SFTP, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ FTP Admin (roles/ftp.admin) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקיד המוגדר מראש הזה כולל את ההרשאה ftp.users.update, שנדרשת כדי לעדכן משתמשי SFTP.

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

עדכון מפתחות SSH של משתמש SFTP

REST

כדי לעדכן מפתחות SSH של משתמש SFTP, משתמשים ב-method ‏servers.users.patch. בפרמטר השאילתה updateMask, מציינים את השדה userCredentials.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט של השרת ב- Google Cloud .
  • LOCATION_ID: המיקום של השרת, למשל us-west1.
  • SERVER_ID: מזהה השרת.
  • USERNAME: שם המשתמש של משתמש ה-SFTP.
  • CREDENTIAL_NAME: שם ייחודי לזיהוי פרטי הכניסה של המשתמש.
  • SSH_PUBLIC_KEY: גוף המפתח הציבורי של ה-SSH של המשתמש, בפורמט OpenSSH. לדוגמה, ssh-rsa AAAAB3NzaC1ycRexample....

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

ה-method של ה-HTTP וכתובת ה-URL:

PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID/users/USERNAME?updateMask=userCredentials

תוכן בקשת JSON:

{
  "userCredentials": [
    {
      "credentialName": "CREDENTIAL_NAME",
      "credentialType": "PUBLIC_KEY",
      "sshPublicKeyBody": "SSH_PUBLIC_KEY"
    }
  ]
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

התגובה מזהה פעולה ממושכת. העדכון של המשתמש יימשך כמה שניות.