שלום,
כאן תראה כיצד להתחבר למחשב מרחוק על ידי SSH רק להזין את הסיסמה בפעם הראשונה, ואז גם אם נפעיל מחדש את שני המחשבים, לא נתבקש שוב את הסיסמה.
אבל, בואו נראה תחילה הסבר קצר על מה זה SSH:
SSH זהו פרוטוקול, אמצעי תקשורת בין שני מחשבים. זה מאפשר לנו לנהל צוות מרחוק. כאשר אנו ניגשים למחשב אחר באמצעות SSH, הפקודה שאנו מזינים באותו מסוף תבוצע במחשב השני, באופן זה אנו מנהלים / שולטים בו.
כל מה שמועבר על ידי SSH, הוא מוצפן ובעל אבטחה טובה במידה ניכרת.
כעת נראה כיצד רק בשלושה שלבים נגדיר מחשב מספר 1 לגשת מחשב מספר 2 מבלי להזין סיסמה:
יש לנו את המצב הבא:
מחשב מספר 1 - » אתה רוצה להתחבר אל מחשב מספר 2, מבלי שתצטרך להזין סיסמה בכל פעם שאתה מנסה להתחבר למחשב אחר זה.
מחשב מספר 2 - » יש לך שרת SSH מותקן. זה האחד מחשב מספר 1 יתחבר, ויעשה זאת מבלי להזין סיסמה. במחשב זה יש משתמש בשם שורש.
הבה נתחיל…
1. En מחשב מספר 1 אנו כותבים את הדברים הבאים:
- ssh -keygen -b 4096 -t rsa
זה ייצור מפתח ציבורי. כדי לא להתבלבל יותר מדי עם "מפתחות ציבוריים ופרטיים", אסביר את זה בפשטות רבה.
נניח שיש לך שני מפתחות לבית שלך בכיס, אחד שאתה נותן לחברה שלך מאז שאתה גר ביחד, ועם השני אתה נשאר לבד, אתה לא נותן את זה לאף אחד. ובכן, המפתח הזה שנתת לחברה שלך יאפשר לה להיכנס לבית שלך בלי לומר לך, בלי לבקש את רשותך, נכון? זהו מפתח ציבורי, "מפתח" המאפשר למחשב לגשת לאחר ללא צורך לבקש את רשותך (כלומר מבלי להזין שם משתמש + סיסמה)
כאשר הם מציבים את הפקודה, זה יופיע:
2. פשוט לחץ [להיכנס], שנייה אחר כך אנחנו לוחצים שוב [להיכנס]ושנייה אחר כך אנו לוחצים פעם נוספת [להיכנס]. כלומר היינו לוחצים [להיכנס] בסך הכל שלוש (3) פעמים, אנחנו רק לוחצים עליו ... אנחנו לא כותבים שום דבר ???
כאשר אנו עושים זאת, יופיע משהו דומה מאוד לדברים הבאים:
מוכנים, יש לנו כבר את המפתח הציבורי ... עכשיו אנחנו צריכים לתת אותו למי שאנחנו רוצים (כמו הדוגמא, תנו לחברה שלנו חה)
מה שאנחנו רוצים זה מחשב מספר 1 להתחבר ל מחשב מספר 2, כבר בפנים מחשב מספר 1 עשינו את כל האמור לעיל, ב מחשב מספר 2 לא עשינו כלום. טוֹב, מחשב מספר 2 יש למשל כתובת IP 10.10.0.5.
3. הכנסנו מחשב מספר 1 הבא:
- ssh-copy-id root@10.10.0.5
מה שזה עושה זה פשוט לתת לך את המפתח הציבורי של מחשב מספר 1 a מחשב מספר 2, כלומר, זה נותן ל מחשב מספר 2 המפתח הציבורי של מחשב מספר 1בעוד מחשב מספר 1 הוא שומר את המפתח הפרטי שלו, אתה יודע; המפתח הזה שלא ניתן לאף אחד. חשוב לא לעשות טעויות עם המשתמש, כלומר אם המשתמש “שורש"זה לא קיים במחשב מספר 2 ייתן לנו שגיאה, חשוב שיהיה ברור באיזה משתמש נשתמש לשם כך, בנוסף לעובדה שאותו משתמש שאיתו אנו מגדירים גישה ללא סיסמה, יהיה זהה איתו נצטרך לגשת בעתיד. ברגע שזה נעשה זה אמור להיראות כך:
בשלב הקודם עליהם להכניס את סיסמת המשתמש מחשב מספר 2.
וואלה ... הכל מוגדר ????
כמו כן זה נראה לנו בטרמינל, בואו נבדוק אם הכל באמת עבד ב 100% בסדר. כדי לבדוק, שמנו:
- ssh root@10.10.0.5
אם הם רוצים לגשת למחשב אחר גם בלי להזין סיסמה תמיד (מחשב מספר 3 למשל), אנחנו פשוט נותנים לו את המפתח הציבורי שלנו וזהו, ברגע שעשינו את הצעד #1 y #2 לא נצטרך לעשות את זה יותר. אם אנחנו רוצים לגשת מחשב מספר 3 למשל, שיש לו לפי IP 10.10.99.156 פשוט שמנו:
- ssh root@10.10.99.156
עד כאן ההדרכה.
הסבירו שרמת האבטחה כשמדברים על SSH היא ממש גבוהה, המטאפורה שבעזרתה הסברתי כמה צעדים (מתן המפתח לחברה שלנו) עשויה להיות לא המתאימה ביותר, שכן חברה שלנו יכולה לתת את המפתח ל מישהו אחר. כאשר אנו מדברים על SSH, קל להסביר את עקרונות האבטחה כאשר אנו מנסים לגשת למחשב שלנו (מחשב מספר 1) בודק אם במחשב מס '2 יש מפתח ציבורי של המחשב שלנו (במקרה זה יש, מכיוון שאנחנו מגדירים אותו כך), אז אם יש כזה, זה פשוט, בדוק אם אותו מפתח ציבורי זהה למפתח הפרטי שלנו (זה ש לא נתנו את זה לאף אחד). אם המפתחות זהים זה מאפשר לנו לגשת, אחרת וכאמצעי אבטחה, זה לא מאפשר לנו לגשת מרחוק למחשב השני.
אז אתה יודע ... לתת לחברה שלנו את מפתח הבית זה לא הדבר הכי בטוח, אבל לחלוק מפתחות ולגשת מרחוק למחשב אחר באמצעות SSH זה בטוח. ^ _ ^
ספקות או שאלות, תלונות או הצעות מודיעים לי.
ברכות לכל.
אני באמת לא מבין איך אתה כל כך פרנואידי לגבי ביטחון עושה טעות כזו. אם בשלב שבו כתוב:
Enter passphrase (empty for no passphrase)
אנחנו לא כותבים שום דבר, אנחנו הולכים לאיבוד אם משתמש מצליח לגשת למחשב שלנו ולפתוח מסוף, מכיוון שהוא מבצע באופן אוטומטי:
ssh root@10.10.0.5
זה ייכנס מבלי לבקש סיסמה.
אם מישהו מקבל גישה למחשב הנייד שלי, כן, הוא יכול לגשת למחשב מס '2 מבלי להזין את הסיסמה שלו, אולם, כמו שאתה אומר, אני פרנואידי לגבי אבטחה, האם אתה באמת חושב שגישה למחשב הנייד שלי היא משהו כל כך פשוט? חה חה.
כשאני תמיד קם, אני תמיד נועל את המסך, אחרת לאחר 30 שניות אין פעילות על העכבר או המקלדת של המחשב הנייד, הוא עדיין יינעל 😉
אם מישהו גונב את המחשב הנייד שלך, לא משנה כמה ההפעלה נחסמת, גישה לגישה לקבצים היא טריוויאלית, עניין של 5 דקות עם אתחול לינוקס באמצעות USB. ולאחר הגישה לקבצים, מכיוון שהמפתח הפרטי אינו מוגן, אתה יכול להשתמש בו ישירות, או להעתיק אותו טוב יותר ולגשת לכל אחד מהשרתים שלך בנוחות מביתך. למעשה, התהליך מהיר כל כך שלא היית צריך אפילו לדעת. תוך 5 דקות אתה הולך לשירותים או כל דבר אחר, הכל יכול להיעשות.
הדרך הבטוחה היא לשים סיסמה על המפתח הפרטי, ואז להשתמש ב- ssh-agent כך שהוא יזכור את הסיסמה במשך כל ההפעלה (רק ssh-add). באופן זה הוא יבקש את הסיסמה רק בפעם הראשונה, ובפועל יהיה לך חיבור ללא סיסמה 90% מהזמן, בנוסף להיות מוגן מפני גניבות או פריצות.
טריוויאלי לגישה לקבצים? האם שמעת פעם על הצפנת דיסק מלאה? (לוקס + cryptsetup)
כן, כמובן שאם כל הדיסק מוצפן זה סיפור אחר, אבל 90% מהמשתמשים לא עושים את זה כי הם לא יודעים לעשות את זה ובמקרים רבים זה אפילו לא מפצה אותם. לעומת זאת, אי שמירת סיסמאות לא מוצפנות או מפתחות פרטיים לא מוגנים לדיסק זה דבר שכולם יכולים לעשות, ובדרך כלל נוהגים להשתמש בו.
שמירת מפתחות פרטיים לא מוגנים בדיסק מוצפן זה כמו להחנות את מכוניתכם ולהשאיר את הדלתות פתוחות, אך לשכור מאבטח עם דוברמן שיגן עליה. זה עובד, כן, אבל הרבה יותר קל ויעיל לנעול אותו ישירות.
MMm לא עושים כל כך הרבה למציצה, למרות שהם יכולים ליצור ממשק וירטואלי, להקצות IP ולהתחבר לאותה IP וירטואלית, כך שגם אם הם מסירים את המפתח הם לא יוכלו למצוא את המכונה מכיוון שהמפתח עובד רק עבור IP מסוים. זה גם תלוי מה הם רוצים, זה עובד בצורה מושלמת עבורי כפי שהחבר מתאר זאת, יש לי שרת פרטי בביתי אני לא צריך להגביר את האבטחה כי יש לו VPN מוגדר.
והאם כל זה יכול לחול על מסוף חלונות שצריך להתחבר למספר * NIX?
יש לי מרק אבל אני יכול גם להשתמש ב- Securecrt (עכשיו יש לי את זה בתסריט)
במסוף Windows (cmd) אני משוכנע שלא, זה לא יהיה אפשרי שם.
עם זאת, אם אתה משתמש במרק אתה יכול לנסות את זה, זה יכול לעבוד.
ברכות וברוכים הבאים לאתר שלנו 😀
מרק כבר מקבל את הפרמטר -pw בפקודות נוספות. (למשל: -pw12345)
למעשה, סופר מרק הוא קריר יותר מאשר סתם מרק. (זו מסגרת למרק)
אז אתה לא צריך לשים את זה.
תודה על הפוסט, שימושי מאוד. זה קצת משעמם להיכנס ל- SSH לכל דבר.
שלום ותודה רבה על הביקור והתגובה שלך 🙂
שום דבר חבר, תענוג לדעת שזה היה מועיל ... אם אנחנו יכולים לעזור לך בכל דרך אחרת, אנחנו יותר משמח 😉
ברכות וברוכים הבאים לאתר.
אני צריך להתחבר למחשב windonws מהלינוקס שלי כמו שאני עושה מהטרמינל שלי
מעולה .. זה ממש מעורר השראה לראות הדרכות מסוג זה, זה גורם לי לרצות לתרום גם את החוויות הפשוטות שלי שכבר כדי שהקהילה תוכל לנצל אותן. תודה באמת מאל סלבדור.
אני מתחבר למכונה עם אובונטו למחשב שיש בו דביאן אבל זה נותן לי שגיאה בה הוא לא יכול לאמת ולכן הוא מבקש ממני את הסיסמה .. למה זה יקרה? האם הגרסאות של ה- ssh-keygen יהיו שונות או מה קורה?
שים כאן את השגיאה שהיא נותנת לך כדי שתוכל לעזור לך טוב יותר 😉
כמו כן, אתה יכול לנסות להכניס את זה למסוף:
sudo mv $HOME/.ssh/known_hosts /opt/
מה שזה עושה זה לנקות את החיבורים (היסטוריית החיבורים) SSH שהיה לך.
ואם הייתי רוצה להשתמש באותו מפתח ציבורי למספר שרתים, האם אוכל לעשות זאת, או שעלי ליצור מפתח עבור כל שרת שאליו אני רוצה לגשת? אני הולך לנסות את זה בכל מקרה, אבל על איזה שרת חסר תועלת כדי לא להרוס משהו שימושי.
תודה וברכות.
כפי שעשיתי את זה במחשב הנייד שלי, זה מפתח אחר עבור כל שרת, למעשה, אני חושב שלא ניתן להשתמש באותו מפתח במשך כמה ... מכיוון שהזהה של כל שרת הוא ייחודי, כמו טביעת אצבע 🙂
לגבי
שלום אדון החול. קראתי מפתחות וגיליתי שצמד המפתחות (ציבורי ופרטי) משרת את לקוח השרת לשלוח ולקבל אתגרים וכך לזהות זה את זה, כך שזה לא קשור לסיסמה בה אתה משתמש כדי לגשת אל השרת, האחרון משמש ל"הדבקה "של המפתח הציבורי במפתחות המהימנים של השרת. אז אתה יכול להשתמש בו בכמה שתרצה או תזדקק.
אני לא יודע אם הסברתי את עצמי, אבל הבדיחה היא שכדי להשתמש בזוג המפתחות שלך בשרתים אחרים, לאחר שעברת את ההדרכה שלך, אתה רק צריך לעשות:
ssh-copy-id other.user@otra.ip
כתוב את הסיסמה שלך עבור שרת אחר זה
ומוכן.
לגבי
שלום, תודה על המדריך, זה היה היחיד שעזר לי. עכשיו כשאני רוצה לעשות זאת על זוג מחשבים אחר, אני מקבל את הדברים הבאים:
$ssh-copy-id -p 4000 lm11@148.218.32.91
נמל רע אומסק 077; מבחן -d ~ / .ssh || mkdir ~ / .ssh; חתול >> ~ / .ssh / author_keys '
תודה על עזרתך.
עשיתי את מה שאמרת לנו, אבל זה כל הזמן מבקש ממני את הסיסמה. אני מבהיר את החיבור הזה שאני יוצר בין שני שרתי כובע אדום של לינוקס ... מה עוד זה יכול להיות?
כבר הסתכל על / etc / ssh / sshd_config
כבר הפעלתי מחדש את שני השרתים
PC2 = כובע אדום לינוקס 6.4
PC2 = כובע אדום לינוקס 5.1
יש להגדיר את שירות ssh בצורה נכונה (/ etc / ssh / sshd_config ב- PC2) כדי שהוא יעבוד.
תיקון…
PC1 = Centos 6.4
PC2 = רד האט 5.1
שלום עמיתים, יש לי צורך ליצור קשר אמון בין שרת Linux Centos 1 אחד ל- Unix Sco5.3, אך יש לי את הבעיה שכאשר מבצעים שלב 5.7 של העתקת המפתח מ- Linux ל- Unix אני מקבל את ההודעה / usr / bin / ssh-copy-id: שגיאה: לא נמצאו זהויות, מדוע זה יכול להיות?
תודה
עקבתי אחר ההדרכה שלב אחר שלב. זה לא נותן לי שום שגיאה, אבל בסופו של דבר כשאני מתחבר מ PC1 ל- PC2 זה כל הזמן מבקש ממני את סיסמת השורש בכל פעם שאני מתחבר.
האם מישהו חושב מה זה יכול להיות?
נראה כי לאחר יצירת המפתח עליכם לבצע ssh-add כדי שסוכן האימות יוכל להשתמש בו.
כיצד אוכל למחוק את מפתח הגישה?
תודה רבה, זה עבד מושלם
תודה רבה על המדריך! זה קל מאוד וזה שימושי כאשר יש לך את השרתים שלך בחוץ ולא צריך להזין מפתחות ובכך להפוך את הדברים לאוטומטיים 😀
תודה.
לא הייתי מודע לשימוש ב- ssh-copy-id וזה היה די אוטומטי.
האמת היא שהייתי עד כדי כתיבת הסיסמה, אז מה שאני עושה זה לשמור אותה בפרפרזה של DEFAULT, שנשמרת במהלך הפגישה.
לא אכפת לי לכתוב את זה פעם אחת בכל פעם שאני מפעיל את המחשב, הגליל צריך לשים אותו בכל פעם שהוא מתנתק או דברים כאלה 😀
SSH אין ג'וטסו!
שלום
הדרכה טובה ... אבל אם אני רוצה להעביר מידע ??? איך אני יכול לעשות את זה?
שלום, התרומה שלך מאוד מעניינת, אבל יש לי כמה ספקות לגבי נושא דומה
היי.
נסה את השלבים שלמעלה, אך כשמנסים להעתיק את המפתח לשרת 2 (PC2) זה אומר לי שהפקודה לא קיימת.
bash: ssh-copy-id: הפקודה לא נמצאה
האם אוכל להעתיק את המפתח באופן ידני?
מְעוּלֶה!! חיפשתי הסבר כל כך פשוט וזה עבד מושלם
תודה!
תרומה מעולה.
תודה רבה, זה עזר לי מאוד.
היי, אני רוצה לדעת אם יש דרך לבצע פקודה זו ssh-copy-id. מכיוון שאני מתקין Open ssh עבור Windows, ssh עובד בשבילי ב- DOS אך אין לה את הפקודה ssh-copy-id. ברצוני לדעת כיצד לשלוח את המפתח הציבורי הזה לשרת הלינוקס האחר (שרת לינוקס). תודה רבה.
היי. עלי ליצור קשר אמון בין שרת לינוקס למכונת Windows. התקן את SSH עבור Windows וזה עובד בשבילי. אך פקודה זו ssh-copy-id אינה זמינה בכלי זה.
הם יודעים על דרך אחרת לעשות זאת מבלי להשתמש ב- ssh-copy-id.
תודה רבה על הערותיך.
אבל השאלה של זה היא להיות מסוגלים להתחבר ללא סיסמה, אם אנחנו שמים ביטוי סיסמה זה היה מבקש מאיתנו לעבור את זה ולא זה היה המטרה
זה היה מאוד שימושי עבורי עבור מודול ה- fp של המחשב שלי, תודה 🙂
תודה!!!
יש שדואגים עד כמה זה יכול להיות מעצבן שצריך להזין את הסיסמה (ביטוי סיסמה), בשביל זה, כפי שאמרו לעיל, זה "user-Agent" ושהייתי מוגדר גם עם Keepass ופונקציית ה- Auto-Type שלו, אז אני פשוט אני מזמין את הטרמינל ועם שילוב המקשים שהגדירו אותם מוכנים, יש לי גם "כינויים" לכל בקשה והכל מאוד קל.
הדרכה נחמדה.
תיהנו מאוד !!
מידע טוב מאוד 🙂 אבל יש לי שאלה ...
יש לי PC10 שם אני שומר את המידע, המידע נשלח מ pc1 - pc2 - pc3, ל- PC10, איך אוכל לגרום ל pc1, pc ו- pc3 להשתמש באותו מפתח כדי לגשת ל- PC10 ללא מפתח.
לחיים ...
איך אוכל לרשום מה יש ב- machine1 בבאש של machine2 בלי לעבור ל- ssh ip @ hosts ל- bas1 של machineXNUMX. אני לא יודע אם אני מבין את xD
עברו 10 שנים מאז פרסום זה ואני ממשיך לבקר בו בכל פעם שאני זקוק לו. כמו כמה מדריכים אחרים כאן הם עמדו במבחן הזמן. תודה וברכות!