SSH הוא פרוטוקול רשת המאפשר לך לגשת ולנהל בצורה מאובטחת מערכת מרוחקת על גבי רשת. בעת התחברות למחשב מרוחק באמצעות SSH, ייתכן שנתקלת בשגיאת "החיבור נדחה". חווית בעיה זו יכולה להיות מתסכלת במיוחד אם אתה מנהל מערכת ועליך לבצע כמה משימות במערכת המרוחקת באופן דחוף.
בואו נסתכל על כמה מהגורמים האפשריים לקבל את השגיאה "חיבור סירוב" של SSH ושיטות לפתור אותה.
1. בדוק אם שרת SSH מותקן
אחת הסיבות האפשריות לשגיאת "החיבור נדחה" היא שהמכשיר המרוחק אינו פועל שרת SSH. ללא שרת SSH, המכונה לא תקבל חיבורי SSH נכנסים, ולא תוכל לגשת אליו מרחוק.
אז הצעד הראשון בפתרון השגיאה הוא לבדוק אם שרת SSH מותקן במחשב המרוחק. השתמש בפקודה הבאה כדי לאמת את התקנת שרת SSH:
על הפצות מבוססות דביאן:
dpkg --list | grep ssh
על הפצות מבוססות RHEL:
רשימת יאם מותקנת | grep ssh
ב-openSUSE:
zypper search -i | grep ssh
על הפצות מבוססות Arch:
pacman -Q | grep ssh
אם שרת SSH מותקן במחשב המרוחק, תראה אותו רשום בפלט. אחרת, אתה חייב התקן את שרת OpenSSH במחשב המרוחק
אתה רוצה לגשת דרך SSH. OpenSSH היא גרסת קוד פתוח של כלי SSH לגישה מרחוק ושליטה במערכות.כדי להתקין את שרת OpenSSH, השתמש בפקודות הבאות:
על הפצות מבוססות דביאן:
sudo apt להתקין openssh-server
על הפצות מבוססות RHEL:
sudo yum התקן openssh-server
ב-openSUSE:
sudo zypper התקנת openssh
על הפצות מבוססות Arch:
pacman -S openssh
2. בדוק את סטטוס שירות SSH
סיבה נוספת לקבל את השגיאה "חיבור נדחה" יכולה להיות ששירות SSH מושבת או אינו פועל במחשב המרוחק. ברגע שאתה בטוח ששרת ה-SSH מותקן, הדבר השני שאתה צריך לבדוק הוא מצב השרת.
sudo systemctl status sshd
אם השירות פועל, הפלט יציין אותו כ פעיל (ריצה). אחרת, תראה משהו כמו לא פעיל (מת).
אם שרת SSH אינו פועל, אתה יכול להפעיל אותו באופן ידני באמצעות הפקודה הבאה:
sudo systemctl התחל sshd
אתה יכול גם לאפשר לשירות להתחיל אוטומטית באתחול עם:
sudo systemctl אפשר sshd
3. בדוק את יציאת SSH
כברירת מחדל, שרת SSH פועל ביציאה 22. עם זאת, אפשר לשנות את יציאת ברירת המחדל. לכן, אם אתה מקבל את השגיאה "חיבור נדחה" של SSH, ייתכן שהסיבה לכך היא שאתה מנסה להתחבר לשרת SSH ביציאת ברירת המחדל 22 בזמן שהוא פועל ביציאה אחרת.
אתה יכול השתמש בפקודה netstat עם grep כדי למצוא את היציאה שבה שרת SSH מאזין:
sudo netstat -plntu | grep ssh
אתה יכול גם למצוא את יציאת SSH מה- sshd_config קובץ באמצעות הפקודה הבאה:
יציאת grep /etc/ssh/sshd_config
לאחר זיהוי יציאת ה-SSH הנכונה, נסה להתחבר למערכת המרוחקת שלך באמצעות אותה יציאה ספציפית.
4. בדוק את חומת האש של המערכת שלך
רוב בעיות הקישוריות מתרחשות עקב חומת האש של המחשב שלך חוסמת יציאות או שירותים מסוימים. אם במחשב המרוחק שרת SSH מותקן ופועל, השלב הבא הוא לבדוק את חומת האש שלך.
כדי להבין אם חומת האש חוסמת את החיבור, השבת את חומת האש באופן זמני באמצעות הפקודות הבאות:
על הפצות לינוקס מבוססות דביאן ו-Arch:
sudo ufw השבת
על הפצות מבוססות RHEL ו-openSUSE:
sudo systemctl השבת חומת אש
אם השגיאה לא מופיעה לאחר השבתת חומת האש, פירוש הדבר שחומת האש חסמה את החיבור. במקרה זה, הפעל מחדש את חומת האש והוסף כלל המאפשר SSH.
בהפצות לינוקס מבוססות Debian ו-Arch, השתמש בפקודה הבאה כדי לאפשר SSH להיכנס חומת האש של UFW:
sudo ufw לאפשר ssh
לחלופין, אתה יכול גם לאפשר SSH לפי מספר היציאה בחומת האש. נניח ששרת SSH משתמש ביציאה 5555, אז תשתמש בפקודה הבאה כדי לאפשר זאת בחומת האש:
sudo ufw allow 5555
כדי לוודא אם הכלל נוסף בהצלחה, בדוק את סטטוס UFW:
מצב sudo ufw
בהפצות מבוססות RHEL וב-openSUSE, השתמש בפקודה הבאה כדי לאפשר SSH בחומת האש:
sudo firewall-cmd --permanent --add-service=ssh
כדי לאפשר SSH לפי מספר יציאה, השתמש בפקודה הבאה:
sudo firewall-cmd --permanent --add-port={port}/tcp
עבור שרת SSH הפועל ביציאה 4444, הפקודה תהיה:
sudo firewall-cmd --permanent --add-port=4444/tcp
כדי לוודא שהוספה מוצלחת של הכלל בחומת האש, הפעל:
sudo firewall-cmd --list-all
5. פתרון התנגשויות כתובות IP
קיים גם סיכוי ששגיאת ה-SSH "החיבור נדחה" תתרחש עקב התנגשות ה-IP של שרת SSH עם ה-IP של מערכת אחרת ברשת. זה קורה כאשר שתי מערכות ברשת טוענות שיש להן כתובת IP זהה, וכתוצאה מכך התנגשות IP.
כדי לאשר אם יש התנגשות IP ברשת שלך, השתמש בכלי arp-scan באופן הבא:
arp-scan [מזהה רשת]
אם יש התנגשות IP, תראה את כתובת ה-IP הכפולה בפלט. צילום המסך שלהלן הוא דוגמה להתנגשות IP ברשת:
כדי למנוע התנגשויות IP, ודא שלאף התקנים יש כתובות IP סטטיות החופפות לכתובות מאגר ה-DHCP.
טיפ בונוס: הפעל את SSH במצב מילולי
בכל פעם שאתה נתקל בשגיאת SSH, נסה להפעיל את פקודת ssh במצב מילולי כדי לאתר את הבעיה. כדי להפעיל SSH במצב מילולי, השתמש בפקודה ssh עם ה- -vvv אפשרות כדלקמן:
ssh -vvv username@ip_address
במצב מילולי, תראה הודעות איתור באגים בכל שלב של החיבור שיעזרו לך להבין היכן טמונה הבעיה.
פתרון בעיות בשגיאת SSH "חיבור נדחה" בלינוקס
על ידי זיהוי הגורמים הפוטנציאליים לשגיאת קישוריות SSH ויישום הפתרונות המוצעים, תוכל לפתור בעיות ולפתור את שגיאת ה-SSH "החיבור נדחה". בנוסף לשלבים אלה, ודא שאתה מתחבר לכתובת ה-IP הנכונה ומשתמש באישורי הכניסה הנכונים.
כדי להפוך את החיבור המרוחק לאבטח יותר, אתה יכול להגדיר אימות דו-גורמי עבור SSH ב-Linux.