במאמר הזה מוסבר איך לעדכן את מפתחות ה-Secure Shell (SSH) שמשתמש ב-Cloud FTP יכול להשתמש בהם כדי להתחבר לשרת SFTP.
לפני שמתחילים
מבקשים מהמשתמש את המפתח הציבורי מכל זוג מפתחות SSH שבו הוא ישתמש כדי להתחבר לשרת. לכל משתמש יכולים להיות עד 10 מפתחות ציבוריים.
אם למשתמש אין זוג מפתחות SSH, צריך לפעול לפי השלבים הבאים כדי ליצור זוג מפתחות.
יצירת זוג מפתחות SSH
איזה פורמט של מפתח דרוש לך?
פורמט המפתח שנדרש תלוי בלקוח שבו אתם משתמשים כדי להתחבר לשרת ה-SFTP. מידע נוסף זמין במאמר לקוחות SFTP נתמכים.
פורמט PEM
-
כדי ליצור זוג מפתחות OpenSSH (בפורמט PEM), משתמשים בכלי השירות
ssh-keygen.במכונת הלקוח שתתחבר לשרת ה-SFTP, מריצים את הפקודה הבאה:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/KEY_PAIR_NAME
מחליפים את
KEY_PAIR_NAMEבשם של זוג המפתחות, למשלsftp_user_key. -
מחלצים את המפתח הציבורי:
cat ~/.ssh/KEY_PAIR_NAME.pub
פורמט PPK
-
כדי ליצור זוג מפתחות PuTTY (בפורמט PPK), משתמשים בכלי
PuTTYgen.במחשב הלקוח שיתחבר לשרת ה-SFTP, מריצים את הפקודה הבאה:
puttygen -t rsa -b 4096 -o KEY_PAIR_NAME.ppk
מחליפים את
KEY_PAIR_NAMEבשם לזוג המפתחות, למשלsftp_user_key. -
מחלצים את המפתח הציבורי:
puttygen -L KEY_PAIR_NAME.ppk
-
התפקידים הנדרשים
כדי לקבל את ההרשאה שנדרשת לעדכון משתמשי SFTP, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין FTP (roles/ftp.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה ftp.users.update, שנדרשת כדי לעדכן משתמשי SFTP.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים מוגדרים מראש.
עדכון מפתחות SSH של משתמש SFTP
gcloud
כדי לעדכן את מפתחות ה-SSH של משתמש SFTP, מריצים את הפקודה gcloud alpha storage ftp users update.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- CREDENTIAL_NAME: שם ייחודי לזיהוי פרטי הכניסה של המשתמש.
- SSH_PUBLIC_KEY: גוף המפתח הציבורי של SSH של המשתמש, בפורמט OpenSSH. לדוגמה,
ssh-rsa AAAAB3NzaC1ycRexample.... - USERNAME: שם המשתמש של משתמש ה-SFTP.
- LOCATION_ID: המיקום של השרת, למשל
us-west1. - SERVER_ID: מזהה השרת.
כדי להגדיר כמה מפתחות ציבוריים למשתמש, צריך לספק כמה פרטי כניסה בקובץ credentials.json.
שומרים את התוכן הבא בקובץ בשם credentials.json:
[ { "credentialName": "CREDENTIAL_NAME", "credentialType": "PUBLIC_KEY", "sshPublicKeyBody": "SSH_PUBLIC_KEY" } ]
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID \ --server=SERVER_ID --user-credentials-from-file=credentials.json
Windows (PowerShell)
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID ` --server=SERVER_ID --user-credentials-from-file=credentials.json
Windows (cmd.exe)
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID ^ --server=SERVER_ID --user-credentials-from-file=credentials.json
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"
}
]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
התגובה מזהה פעולה ממושכת. העדכון של המשתמש יימשך כמה שניות.ספריות לקוח
C#
מידע על התקנה ושימוש בספריית הלקוח של Cloud FTP מופיע במאמר ספריות הלקוח של Cloud FTP. מידע נוסף מופיע במאמרי העזרה של Cloud FTP C# API.
כדי לבצע אימות ב-Cloud FTP, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. למידע נוסף, קראו את מאמרי העזרה של Cloud FTP Go API.
כדי לבצע אימות ב-Cloud FTP, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. למידע נוסף, קראו את מאמרי העזרה של Cloud FTP Java API.
כדי לבצע אימות ב-Cloud FTP, אתם צריכים להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. מידע נוסף מופיע במאמרי העזרה של Cloud FTP Node.js API.
כדי לבצע אימות ב-Cloud FTP, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
PHP
מידע על התקנה ושימוש בספריית הלקוח של Cloud FTP מופיע במאמר ספריות הלקוח של Cloud FTP. מידע נוסף מופיע במאמרי העזרה של Cloud FTP PHP API.
כדי לבצע אימות ב-Cloud FTP, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. מידע נוסף מופיע במאמרי העזרה של Cloud FTP Python API.
כדי לבצע אימות ב-Cloud FTP, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Ruby
כדי ללמוד איך מתקינים את ספריית הלקוח ואיך משתמשים בה ב-Cloud FTP, ראו: ספריות לקוח של Cloud FTP. מידע נוסף מופיע במאמרי העזרה של Cloud FTP Ruby API.
כדי לבצע אימות ב-Cloud FTP, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.