הדרך העיקרית להתחבר לשרת לינוקס היא באמצעות פרוטוקול SSH . סוג זה של חיבור מאובטח, מכיוון שכל הנתונים המועברים דרכו מוצפנים. על מנת ליצור חיבור SSH , עליך להגדיר אותו בשרת המרוחק שאליו ברצונך להתחבר, ובלקוח בצד המשתמש. ישנן תוכנות רבות לחיבור SSH. עבור לינוקס, חבילת OpenSSH היא הפופולרית ביותר, ועבור Windows משתמשים בעיקר ב-PuTTY.
בואו נסתכל מקרוב על תצורת השרת באמצעות Ubuntu Server 18.04 כדוגמה, ולאחר מכן ננסה להתחבר לשרת מ-Linux ו-Windows.
כל מה שנעשה יהיה מחשבון של משתמש רגיל. במקרה זה, יצרנו משתמש בשם " mihail ", וחשבון " root " מושבת כברירת מחדל.
הגדרה בצד השרת
הגדר את החבילה שמריצה את הפקודה הזו:
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 בשדה " יציאה " ולחצו על " פתח ".
בחיבור הראשון, Putty יבקש ממך לאשר שאתה סומך על שרת זה, לכן לחץ על " כן ".
לאחר שתזין את פרטי הכניסה והסיסמה, תראה את שורת הפקודה של השרת המרוחק.
אימות באמצעות מפתח. הגברת רמת האבטחה
כאשר לקוח מנסה ליצור חיבור מאובטח לשרת באמצעות 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. לאחר מכן העתיקו את המפתח הציבורי מראש החלון.
בואו נשלח את המפתח הציבורי פשוט על ידי העתקתו לטרמינל. פתחו את Putty והתחברו לשרת כרגיל. כעת בואו ניצור " .ssh/authorized_keys " ונגביל את הגישה של משתמשים אחרים לקובץ, כך שהוא יהיה זמין רק ליוצר.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
לאחר יצירת הקובץ, הכנס בו את המפתח הציבורי של הלקוח. בשלב הקודם העתקנו מפתח ציבורי ללוח. כדי להקליט את מה שנמצא בלוח לקובץ, השתמש בפקודה cat והפניית פלט.
cat > .ssh/authorized_keys
לאחר הזנת הפקודה, לחצו על לחצן העכבר הימני בחלון הטרמינל והדביקו את מה שנמצא בלוח. כדי לאשר את הקלט, לחצו על קיצור הדרך " Ctrl+D " והתנתקו מהשרת.
כעת נציין את הנתיב למפתח הפרטי ב- Putty ונתחבר שוב לשרת.
מעתה ואילך, על מנת להתחבר לשרת תצטרך רק להזין שם משתמש. אם אתה מנסה להתחבר לשרת ממכשיר אחר שאין לו את המפתח הפרטי הנכון, השרת יבקש סיסמה. לאחר הגדרת אימות מבוסס מפתח, אתה יכול לא לאפשר גישה באמצעות סיסמה.