6Aug

כיצד מרחוק להעתיק קבצים על SSH מבלי להזין את הסיסמה שלך

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

תהליך זה פועל על לינוקס ו- Mac OS, בתנאי שהם מוגדרים כראוי עבור גישה SSH.אם אתה משתמש ב- Windows, תוכל להשתמש ב- Cygwin כדי לקבל פונקציונליות כמו לינוקס, ועם קצת tweaking, SSH יפעל גם כן.

העתקת קבצים על SSH

עותק מאובטח היא פקודה שימושית באמת, וזה ממש קל לשימוש.הפורמט הבסיסי של הפקודה הוא כדלקמן:

scp [אפשרויות] original_file destination_file

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

user @ server: path /to/ file

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

scp -P 40050 Desktop / url.txt [email protected]: ~ /Desktop/ url.txt

פקודה זו כוללת את הדגל [-P]( שים לב שזה 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 -t rsa

פעולה זו תיצור את שני המקשים ותכניס אותם:

~ /.ssh/

עם השמות id_rsa עבור המפתח הפרטי שלך ו- id_rsa.pub עבורהמפתח הציבורי שלך.

לאחר הזנת הפקודה, תישאל היכן לשמור את המפתח.תוכל ללחוץ על Enter כדי להשתמש בברירות המחדל הנ"ל.

הבא, תתבקש להזין ביטוי סיסמה.הקש Enter כדי להשאיר את השדה ריק, ולאחר מכן עשה זאת שוב כאשר הוא מבקש אישור.השלב הבא הוא להעתיק את קובץ המפתח הציבורי למחשב המרוחק.ניתן להשתמש ב- scp כדי לעשות זאת:

היעד של המפתח הציבורי שלך נמצא בשרת המרוחק, בקובץ הבא:

~ /.ssh/ authorized_keys2

ניתן להוסיף את המפתחות הציבוריים הבאים לקובץ זה, בדומה לקובץ known_hosts ~ /.ssh/.משמעות הדבר היא שאם ברצונך להוסיף מפתח ציבורי נוסף עבור החשבון שלך בשרת זה, היית מעתיק את התוכן של הקובץ id_rsa.pub השני לשורה חדשה בקובץ author_keys2 הקיים.

שיקולי אבטחה

האם זה לא פחות מאובטח בסיסמה?

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

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

האם זה יכול להיות בטוח יותר?

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

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

האם אני יכול להשתמש בצמד המפתחות הציבורי / פרטי?

זה רעיון ממש רע.אם מישהו מוצא את הסיסמה שלך, ואתה משתמש באותה סיסמה עבור כל החשבונות שלך, כעת יש להם גישה לכל החשבונות האלו.באופן דומה, קובץ המפתח הפרטי שלך הוא גם סודי ביותר וחשוב.(לקבלת מידע נוסף, תסתכל על איך לשחזר אחרי סיסמת הדוא"ל שלך הוא פותר)

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

חשוב גם לציין כי כל המפתחות הפרטיים שלך מאוחסנים באותו מקום: ב /.ssh/ ~ על המחשב שלך, אתה יכול להשתמש TrueCrypt כדי ליצור מאובטח, מוצפן מיכל, ולאחר מכן ליצור symlinks בספריה /.ssh/ ~ שלך.תלוי מה אני עושה, אני משתמש זה סופר פרנואידית שיטה מאובטחת סופר לשים את דעתי בנוח.

האם השתמשת ב- SCP בכל סקריפטים?האם אתה משתמש בקבצי מפתח במקום בסיסמאות?שתף את המומחיות שלך עם הקוראים האחרים את ההערות!