כיצד מרחוק להעתיק קבצים על SSH מבלי להזין את הסיסמה שלך
SSH הוא מציל חיים כאשר אתה צריך לנהל מרחוק מחשב, אבל האם ידעת שאתה יכול גם להעלות ולהוריד קבצים, מדי? באמצעות מקשי SSH, באפשרותך לדלג על הצורך להזין סיסמאות ולהשתמש בהן עבור סקריפטים!
תהליך זה פועל על לינוקס ו- Mac OS, בתנאי שהם מוגדרים כראוי עבור גישה SSH. אם אתה משתמש ב- Windows, תוכל להשתמש ב- Cygwin כדי לקבל פונקציונליות כמו לינוקס, ועם קצת tweaking, SSH יפעל גם כן.
העתקת קבצים על SSH
עותק מאובטח הוא פקודה שימושית באמת, וזה ממש קל לשימוש. הפורמט הבסיסי של הפקודה הוא כדלקמן:
[אפשרויות]
את תמרוץ הגדול ביותר הוא איך לעצב את החלק המרוחק. כאשר אתה פונה לקובץ מרוחק, עליך לעשות זאת באופן הבא:
משתמש @ שרת: path / to / file
השרת יכול להיות כתובת אתר או כתובת IP. זה ואחריו נקודתיים, ולאחר מכן את הנתיב אל הקובץ או התיקיה המדוברת. בואו נסתכל על דוגמה.
scp-400400 Desktop / url.txt [email protected]: ~ / Desktop / url.txt
פקודה זו כוללת את [-P] דגל (שים לב כי זה הון P). זה מאפשר לי לציין מספר יציאה במקום ברירת המחדל 22. זה הכרחי עבורי בגלל הדרך אני מוגדר את המערכת שלי.
הבא, הקובץ המקורי שלי הוא "url.txt" אשר בתוך ספרייה בשם "שולחן העבודה". קובץ היעד הוא "~ / Desktop / url.txt" שהוא זהה "/user/yatri/Desktop/url.txt". פקודה זו מנוהלת על ידי המשתמש "yatri" במחשב המרוחק "192.168.1.50".
מה אם אתה צריך לעשות את ההפך? ניתן להעתיק קבצים משרת מרוחק גם כן.
כאן, העתקתי קובץ מהתיקייה "~ / Desktop /" של המחשב המרוחק לתיקייה "Desktop" של המחשב.
כדי להעתיק ספריות שלמות, יהיה עליך להשתמש בדגל [-r] (שים לב שמדובר באותיות קטנות).
ניתן גם לשלב דגלים. במקום
scp -P -r ...
אתה יכול פשוט לעשות
scp-Pr ...
החלק הקשה ביותר כאן הוא כי השלמת הכרטיסייה לא תמיד עובד, אז זה מועיל יש עוד מסוף עם הפעלת SSH פועל, כך שאתה יודע איפה לשים דברים.
SSH ו SCP ללא סיסמאות
עותק מאובטח הוא נהדר. אתה יכול לשים את זה סקריפטים יש לו לעשות גיבויים למחשבים מרוחקים. הבעיה היא שאתה לא תמיד להיות סביב כדי להזין את הסיסמה. ו, בואו נהיה כנים, זה כאב גדול אמיתי לשים את הסיסמה למחשב מרוחק יש לך כמובן גישה לכל הזמן.
ובכן, אנחנו יכולים להסתובב באמצעות סיסמאות באמצעות קבצי מפתח. אנחנו יכולים לקבל את המחשב ליצור שני קבצי מפתח - ציבור אחד השייך לשרת המרוחק, ואחד פרטית אשר על המחשב שלך צריך להיות מאובטח - ואת אלה ישמשו במקום סיסמה. די נוח, נכון?
במחשב, הזן את הפקודה הבאה:
ssh-keygen-rsa
פעולה זו תיצור את שני המקשים ותכניס אותם:
~ / .ssh /
עם השמות "id_rsa" עבור המפתח הפרטי שלך, ו "id_rsa.pub" עבור המפתח הציבורי שלך.
לאחר הזנת הפקודה, תישאל היכן לשמור את המפתח. תוכל ללחוץ על Enter כדי להשתמש בברירות המחדל הנ"ל.
לאחר מכן תתבקש להזין ביטוי סיסמה. הקש Enter כדי להשאיר את השדה ריק, ולאחר מכן עשה זאת שוב כאשר הוא מבקש אישור. השלב הבא הוא להעתיק את קובץ המפתח הציבורי למחשב המרוחק. ניתן להשתמש ב- scp כדי לעשות זאת:
היעד עבור המפתח הציבורי שלך נמצא בשרת המרוחק, בקובץ הבא:
~ / .ssh / author_keys2
ניתן להוסיף את המפתחות הציבוריים הבאים לקובץ זה, בדומה לקובץ ~ / .shsh / known_hosts. משמעות הדבר היא שאם ברצונך להוסיף מפתח ציבורי נוסף עבור החשבון שלך בשרת זה, היית מעתיק את התוכן של הקובץ id_rsa.pub השני לשורה חדשה בקובץ author_keys2 הקיים.
שיקולי ביטחון
האם זה לא בטוח פחות סיסמה?
במובן המעשי, לא ממש. המפתח הפרטי שנוצר מופקד במחשב שבו אתה משתמש, ומעולם לא מועבר, אפילו לא לאימות. מפתח פרטי זה מתאים רק עם זה מפתח ציבורי אחד, ואת הקשר צריך להיות מופעל מהמחשב שיש לו את המפתח הפרטי. RSA הוא די בטוח ומשתמש אורך 2048 סיביות כברירת מחדל.
זה למעשה די דומה בתיאוריה באמצעות הסיסמה שלך. אם מישהו יודע את הסיסמה שלך, האבטחה שלך יוצא מהחלון. אם למישהו יש את קובץ המפתח הפרטי שלך, אז האבטחה אבודה לכל מחשב שיש לו את מפתח הערווה המתאים, אבל הם צריכים גישה למחשב כדי לקבל את זה.
האם זה יכול להיות בטוח יותר?
ניתן לשלב סיסמה עם קבצי מפתח. בצע את השלבים שלמעלה, אך הזן ביטוי סיסמה חזק. עכשיו, כאשר אתה מתחבר על SSH או להשתמש SCP, תצטרך את הקובץ המפתח הפרטי הנכון ממש כמו ביטוי הסיסמה הנכון.
לאחר שתזין את ביטוי הסיסמה פעם אחת, לא תתבקש שוב עבורו עד שתסגור את ההפעלה. כלומר, בפעם הראשונה שאתה SSH / SCP, תצטרך להזין את הסיסמה שלך, אבל כל הפעולות הבאות לא יחייב את זה. לאחר היציאה מהמחשב (לא את השלט הרחוק) או לסגור את חלון הטרמינל, יהיה עליך להזין אותו שוב. בדרך זו, אתה לא באמת להקריב אבטחה, אבל אתה גם לא מטריד סיסמאות כל הזמן.
האם אני יכול לעשות שימוש חוזר בצמד המפתחות הציבורי / פרטי?
זה רעיון ממש רע. אם מישהו מוצא את הסיסמה שלך, ואתה משתמש באותה סיסמה עבור כל החשבונות שלך, כעת יש להם גישה לכל החשבונות האלו. באופן דומה, קובץ המפתח הפרטי שלך הוא גם סודי ביותר וחשוב. (לקבלת מידע נוסף, תסתכל כיצד לשחזר לאחר סיסמת הדואר האלקטרוני שלך הוא פותר)
עדיף ליצור זוגות מפתח חדשים עבור כל מחשב וחשבון שברצונך לקשר. בדרך זו, אם אחד המפתחות הפרטיים שלך יתפסו איכשהו, אז אתה רק להתפשר על חשבון אחד במחשב מרוחק אחד.
כמו כן, חשוב מאוד לציין שכל המפתחות הפרטיים שלך מאוחסנים באותו מקום: ב- / / ssh / במחשב, באפשרותך להשתמש ב- TrueCrypt כדי ליצור מיכל מאובטח, מוצפן, ולאחר מכן ליצור קישורי סימניות ב- ~ / .shsh / directory. תלוי מה אני עושה, אני משתמש זה סופר פרנואידית סופר מאובטח שיטה לשים את דעתי בנוח.
האם השתמשת ב- SCP בכל סקריפטים? האם אתה משתמש בקבצי מפתח במקום בסיסמאות? שתף את המומחיות שלך עם הקוראים האחרים את ההערות!