הערה: הפקודות הנדונות כאן נבדקו ב- Ubuntu 20.04 LTS. אותן פקודות תקפות גם עבור מערכת Debian.
תיקון שגיאה סירובה לחיבור
זוהי שגיאת סירוב החיבור שתיתקל בה בעת חיבור למערכת מרוחקת באמצעות SSH.
בצע את הפתרונות שלהלן צעד אחר צעד על מנת לפתור את שגיאת החיבור שנדחה.
ודא ש- OpenSSH מותקן
אחת הסיבות לכך שתקבל שגיאת סירוב לחיבור היא מכיוון ששרת OpenSSH אינו מותקן בשרת היעד.
ראשית, יהיה עליך לוודא ששרת OpenSSH מותקן במערכת שאליה אתה מנסה לגשת באמצעות SSH. על מנת לבדוק אם OpenSSH מותקן או לא, הנח את הפקודה הבאה במסוף שרת היעד:
$סודורשימה מתאימה--מוּתקָן | אחיזהשרת openssh
פקודה זו בעצם מסננת את המונח openssh-server מרשימת החבילות המותקנות. אם אתה מקבל את הפלט הדומה הבא, זה מציין ששרת OpenSSH מותקן. מצד שני, אם אתה לא מקבל פלט, זה אומר ש- OpenSSH חסר בשרת היעד.
במקרה שהוא אינו מותקן בשרת היעד, תוכל להתקין אותו באמצעות הפקודה הבאה בשם sudo:
$סודומַתְאִיםלהתקיןשרת opensshלאחר מכן הקלד סיסמת סודו, וכאשר תתבקש לאשר, הקש על 'y'. לאחר ההתקנה, אשר אותו באמצעות אותה פקודה
$סודורשימה מתאימה--מוּתקָן | אחיזהשרת opensshבדוק את שירות SSH
שירות OpenSSH פועל ברקע ומאזין לחיבורים נכנסים. שירות OpenSSH שהופסק יכול להיות אחת הסיבות לכך שאתה מקבל שגיאת סרב לחיבור.
לכן, יש לבדוק אם שירות OpenSSH פועל או לא באמצעות הפקודה הבאה במסוף:
$סודושֵׁרוּתsshסטָטוּסאם אתה רואה את הפלט הבא, פירוש הדבר שהשירות פעיל ופועל ברקע.
מצד שני, אם אתה מקבל לא פעיל (מת), כלומר השירות אינו פועל . אתה יכול להפעיל את שירות OpenSSH באמצעות הפקודה הבאה כסודו במסוף:
$סודושֵׁרוּתsshהַתחָלָהעל מנת להפעיל מחדש את השירות, השתמש בפקודה הבאה:
$סודושֵׁרוּתsshאתחולבדוק את יציאת האזנה של שרת SSH
סיבה נוספת לקבלת שגיאת סירוב לחיבור היא מכיוון שאתה מנסה להתחבר ליציאה הלא נכונה. לדוגמה, אם השרת מוגדר להקשיב ביציאה 2244 ואתה מנסה להתחבר ליציאת ברירת המחדל שלו 22, במקרה זה תקבל שגיאת סרב לחיבור.
לפני שתנסה להתחבר, עליך לבדוק את יציאת האזנה של שרת SSH. אם היא יציאת ברירת המחדל (22), תוכל לחבר אותה באמצעות הפקודה הבאה:
$ssh [שם משתמש]@[שרת שלט רחוק אושם מארח]אם מדובר ביציאה אחרת מלבד יציאת ברירת המחדל, יהיה עליך להתחבר לשרת SSH באמצעות יציאה זו:
$ssh -p [מספר יציאה] [שם משתמש]@[כתובת ה - IP]על מנת לבדוק לאיזו יציאה שרת OpenSSH מאזין; השתמש בפקודה הבאה במסוף:
$סודו netstat -ltnp | אחיזהsshdתקבל את הפלט הדומה להלן:
בעמודה השלישית, אתה יכול לראות את יציאת האזנה של השרת היא 2244. אם זה המצב, יהיה עליך להתחבר לשרת SSH באמצעות יציאה זו.
$ssh -p [2244] [שם משתמש]@[כתובת ה - IP]אפשר SSH בחומת האש
חומת אש שחוסמת את יציאת SSH יכולה להיות סיבה מרכזית נוספת לשגיאת סירוב החיבור. אם חומת אש פועלת בשרת SSH, יהיה עליך לאפשר את יציאת ה- SSH בה באמצעות הפקודה הבאה. החלף את ה נמל לפי מספר היציאה שרת SSH מקשיב לו:
$סודוufw אפשר יציאה/tcpלדוגמה, אם שרת SSH מקשיב ליציאה 2244, תוכל לאפשר זאת בחומת האש כדלקמן:
$סודוufw אפשר2244/tcp
טען מחדש את חומת האש באמצעות הפקודה הבאה:
$סודוufw טען מחדשעל מנת לאשר אם נוספו הכללים, בדוק את מצב חומת האש באמצעות הפקודה הבאה במסוף:
$סודוסטטוס ufwהפלט הבא מראה שהיציאה 2244 מותרת בחומת האש.
פתרון סכסוך כפול של כתובת IP
שגיאת ה- Connection סרבה יכולה להתרחש גם בגלל התנגשות כפולה של כתובת IP. לכן, וודא שלמערכת אין כתובת IP כפולה.
התקן את כלי העזר arping במערכת שלך באמצעות הפקודה הבאה:
$סודומַתְאִיםלהתקיןarpingלאחר מכן צטט בכתובת ה- IP של שרת SSH.
$פינג <כתובת ה - IP>בתפוקה, אם אתה רואה את התשובה מכמה כתובות MAC אחת, אז זה מראה שיש מערכת כפולה IP פועלת במערכת. אם זה המצב, שנה את כתובת ה- IP של שרת SSH ונסה להתחבר שוב עם כתובת ה- IP החדשה.
כך תתקן את שגיאת סירוב החיבור ביציאה 22 במערכות לינוקס. במאמר זה, תיארנו כמה דרכים שבוודאי יעזרו לך בפתרון השגיאה שנדחתה בחיבור.