הדרך העיקרית להתחבר לשרת לינוקס היא דרך פרוטוקול SSH. סוג זה של חיבור מאובטח, מכיוון שכל הנתונים המועברים דרכו מוצפנים. לפי הסדר ל ליצור חיבור SSH עליך להגדיר אותו בשרת המרוחק שאליו אתה רוצה להתחבר, ובלקוח בצד המשתמש. יש המון תוכנות לחיבור SSH. באשר ללינוקס, חבילת OpenSSH היא הפופולרית ביותר ועבור Windows אנשים משתמשים בעיקר ב- PuTTY.
בואו נסתכל מקרוב על תצורת השרת באמצעות Ubuntu Server 18.04 כדוגמה, ולאחר מכן ננסה להתחבר לשרת מ-Linux ו-Windows.
כל מה שנעשה יהיה מחשבון משתמש רגיל. במקרה זה, יצרנו משתמש "מיכאל", ו-"שורש" החשבון מושבת כברירת מחדל.
הגדרה בצד השרת
הגדר את החבילה שמריצה את הפקודה הזו:
sudo apt install openssh-server
לאחר סיום ההתקנה, ודא שהשירות פועל. השתמש בפקודה הזו:
systemctl status sshd
סטטוס "פעיל (ריצה)" פירושו שהשירות מופעל ופועל כרגיל.
על מנת להימנע מחסימת חיבורים נכנסים על ידי חומת האש, הקפד להשבית אותה, מכיוון שאיננו מתכוונים להגדיר חומת אש ברשת במאמר זה.
השתמש בפקודה זו:
sudo ufw disable
בשלב זה כבר ניתן להתחבר לשרת. עם הגדרות ברירת המחדל שרת מאפשר חיבור ליציאה 22 הרגילה עם אימות מבוסס סיסמה.
חיבור SSH מ-Linux
ככלל, לקוח OpenSSH מותקן על לינוקס כברירת מחדל ואינו דורש תצורה ידנית נוספת. ניתן ליצור חיבור מהמסוף בעזרת פקודת ssh. פרמטרים במקרה זה יהיו שם המשתמש וכתובת ה-IP של השרת המרוחק. בשרת הבדיקה שלנו שאנו משתמשים בו כדוגמה יש רק חשבון אחד "mihail", אז נשתמש בזה.
ssh [email protected]
בחיבור הראשון תצטרך לאשר הוספת המפתח הציבורי של השרת למסד הנתונים, אז השב "כן". לאחר מכן תוכל להזין את הסיסמה. אם החיבור בוצע בהצלחה, תראה טקסט פתיחה של שורת הפקודה של השרת. כעת כל הפקודות יבוצעו ישירות בשרת המרוחק.
SSH מווינדוס
פתח את Putty והגדר פרמטרים של חיבור. ודא שהמתג "סוג חיבור" מופנה אליו SSH. הזן את כתובת ה-IP לתוך "שם מארח", ערך ברירת המחדל 22 לתוך "נָמָל"ולחץ על"להרחיב".
בחיבור הראשון מרק יבקש ממך לאשר שאתה סומך על השרת הזה, אז לחץ על "יש"
לאחר שתזין את פרטי הכניסה והסיסמה, תראה את שורת הפקודה של השרת המרוחק.
אימות באמצעות מפתח. הגברת רמת האבטחה
כאשר לקוח מנסה ליצור חיבור מאובטח לשרת באמצעות SSH, לפני מתן אפשרות לחיבור השרת דורש לאמת (לאמת) את הלקוח. כפי שהוזכר קודם לכן, אימות מבוסס סיסמה משמש בדרך כלל כברירת מחדל. זה לא מספק אבטחה חזקה, כי תמיד יש דרך לאלץ אותו בצורה אכזרית. חוץ מזה, אימות סיסמה אינו חל על חיבורי SSH עם שימוש בסקריפטים.
עבור משימות מסוג זה קיימת שיטת אימות מיוחדת לפי מפתח. הנקודה היא שהלקוח יוצר מפתחות פרטיים וציבוריים ואז מפתח ציבורי נשלח לשרת. לאחר מכן אינך צריך סיסמה כדי להתחבר לשרת, כי האימות מתבצע על סמך מפתחות לקוח ציבוריים ופרטיים. כדי לספק רמת אבטחה טובה, יש להגביל את הגישה למפתח הפרטי. בגלל העובדה שהמפתח הפרטי מאוחסן בצד הלקוח ואינו מועבר דרך הרשת, מאמינים ששיטה זו מאובטחת יותר.
אימות באמצעות מפתח בלינוקס
בואו ליצור מפתחות ציבוריים ופרטיים על הלקוח בעזרת תוכנת השירות ssh-keygen. הכלי יציע לשנות את הנתיב למפתח הפרטי ולהזין ביטוי סיסמה לאבטחה נוספת. השאר את כל הפרמטרים כברירת מחדל על ידי לחיצה על Enter בכל הבקשות.
כתוצאה מכך, בספריית הבית בתיקיית ssh תמצאו שני קבצים שנוצרו: id_rsa ו id_rsa.pub המכילים מפתחות פרטיים וציבוריים בהתאם.
לאחר מכן, תצטרך לשלוח את המפתח הציבורי לשרת. כדי לעשות זאת, העתק את התוכן של "id_rsa.pub"קובץ לתוך "~/.ssh/authorized_keys" קובץ בשרת. בוא נלך בדרך הקלה ביותר בעזרת "ssh-copy-idהכלי ". הזן כניסה וכתובת IP של השרת, בדיוק כמו במקרה של חיבור רגיל. לאחר שתזין סיסמה, המפתח הציבורי של הלקוח יועתק אוטומטית לשרת. הפעל את הפקודה הזו:
ssh-copy-id [email protected]
לאחר שתעשה את כל זה, השרת לא ידרוש יותר הזנת סיסמה.
אימות באמצעות מפתח ב-Windows
להרחיב PUTTYGEN ולחץ על "ליצורכדי ליצור את המפתחות, אתה רק צריך להעביר את העכבר על המסך והכלי יפיק את המקשים באופן אקראי.
לאחר יצירת המפתחות, לחץ על "שמור מפתח פרטי" ושמור אותו בקובץ עם מפתח פרטי בדיסק שלך. אתה יכול להגדיר איזה נתיב שאתה רוצה, אבל קצת מאוחר יותר תצטרך לציין אותו ב- Putty. לאחר מכן העתק את המפתח הציבורי מהחלק העליון של החלון.
בוא נשלח את המפתח הציבורי פשוט על ידי העתקתו למסוף. לִפְתוֹחַ מרק ולהתחבר לשרת כרגיל. עכשיו בואו ניצור ".ssh/autorized_keys" ולהגביל את הגישה של המשתמשים האחרים לקובץ, כך שהוא זמין רק ליוצר.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
לאחר יצירת הקובץ, הכנס בו את המפתח הציבורי של הלקוח. בשלב הקודם העתקנו מפתח ציבורי ללוח. כדי להקליט את מה שנמצא בלוח לקובץ, השתמש בפקודה cat והפניית פלט.
cat > .ssh/authorized_keys
לאחר שתזין את הפקודה, לחץ על לחצן העכבר הימני בחלון המסוף והדבק את מה שנמצא בלוח. כדי לאשר את הקלט, לחץ על "Ctrl + D” קיצור דרך והתנתק מהשרת.
כעת נציין את הנתיב למפתח הפרטי ב- Putty ונתחבר שוב לשרת.
מעתה ואילך, על מנת להתחבר לשרת תצטרך רק להזין שם משתמש. אם אתה מנסה להתחבר לשרת ממכשיר אחר שאין לו את המפתח הפרטי הנכון, השרת יבקש סיסמה. לאחר הגדרת אימות מבוסס מפתח, אתה יכול לא לאפשר גישה באמצעות סיסמה.