תוקן: לא נמצאה שיטת החלפת מפתח תואמת



נסה את הכלי שלנו לביטול בעיות

כשאתה מנסה להשתמש ב- ssh כדי ליצור קשר עם שרת מרוחק, ייתכן שתקבל שגיאה שקוראת שום שיטת החלפת מפתחות תואמת לפני שתיתן לך הצעה באיזה אלגוריתם הצפנה תרצה להשתמש. לא תוכל להתחבר לשרת המרוחק בכל פעם שתיתקל בשגיאה. תהליך זה יכול להיות ממש מתסכל, אך השגיאה כל כך נפוצה שלעתים קרובות תמצאו סוגי יוניקס מדברים על האופן בו הם חווים אותה ונותנים את אותה עצה כדי לצאת מהיער.



השיטות הבאות לתיקון השגיאה נבדקו בכל מה ש- ssh עובד עליו, אך סביר להניח שתמצא בעיה זו במערכות יוניקס ו- Linux. אתה אמור להיות מסוגל להשתמש באותו תהליך כדי לתקן אותו אם אתה מפעיל ssh ב- Windows או במשהו אקזוטי, אך ייתכן שתגלה שאפשרויות המעבר שונות במקצת.



שיטה 1: יצירת קשר מחדש עם השרת ומפתחות מחדש

לפני שתעשה משהו אחר, ודא שאתה יכול לשחזר את השגיאה. לפעמים הודעת שגיאה זו נובעת מכך שיש שירות צדדי מרוחק שאינו פועל כרגע, וייתכן שתוקן בינתיים. בזמן שהפעלנו ssh במכונה וירטואלית שאפשרה את החיבור לכתובת שרת מזויפת שהוגדרה ל- example.org שאושרה על ידי התיעוד, אך תרצה להחליף כתובת רשת אמיתית במקום.



אם אתה עדיין מקבל אותו, נסה לחדש את המפתחות באמצעות ssh-keygen -A משורת הפקודה. פעולה זו תרענן את המטמון בו משתמש יישום ssh לחיבור לשרת המרוחק. אם אתה מונע זאת, כדאי לך לנסות להפעיל מחדש את ssh על ידי הפעלה שירות ssh הפעלה מחדש ולתת לזה כמה רגעים.

אם אתה עדיין נתקל בבעיות, המשמעות היא שהשרת והלקוח לא הצליחו להשלים עם הפרוטוקול הנכון לשימוש. OpenSSH מיישם מערך מסחרר של פרוטוקולים שונים, אך הוא משבית מספר כאלה מכיוון שכעת ידוע שהם נפגעים ולכן אינם בטוחים. תרצה לעדכן את כל חבילות ssh בקצה השרת של המשוואה, אז וודא שמנהל המערכת מודע למה שקורה. אם זה השרת שלך, קח רגע לעדכן אותם.



אם זו לא אפשרות ואתה מזהה את הסכנות שבשימוש באלגוריתם שנפגע, אז יש דרך מצד הלקוח לעקוף את הודעת השגיאה הזו.

שיטה 2: הפעלת אפשרויות Legacy ב- OpenSSH

בדוק מה קוראת הודעת השגיאה אחרי המילים ההצעה שלהם: לראות איזה אלגוריתם השרת המרוחק מעדיף. בעוד שרוב המערכות צריכות להשתמש ב- openssh7, שכבר השבית את טכנולוגיית ה- diffie-hellman-group1-sha1 המיושנת יותר, ייאמר לך להשתמש ב- sha1 אם הם עדיין תקועים ב- openssh6 או משהו דומה.

לָרוּץ ssh -oKexAlgorithms = + diffie-hellman-group1-sha1 testhost@example.org לא משנה מה מארח הרשת בפועל או כתובת ה- IP של השרת המרוחק הוא לפתור בעיה זו בצד הלקוח. אם זה פותר את הבעיה, הוא חיפש פרוטוקול ישן יותר מבוסס sha1 להתחברות. פתרון ישן יותר מבוסס-sha1 זה הושבת מסיבה טובה, אך ניתן לעקוף אותו באופן קבוע יותר באמצעות עורכי ה- nano או ה- vim כדי לפתוח את קובץ ~ / .ssh / config ולהוסיף את השורות:

מארח example.org

KexAlgorithms + diffie-hellman-group1-sha1

זכור כי תרצה לוודא כי סימן הפלוס קיים מכיוון שמשמעותו ש- ssh תוסיף במקום להחליף את ברירות המחדל המאובטחות יותר. כאשר השרת מעדכן את החבילות, ברוב המקרים תשתמש בפרוטוקולים הבטוחים יותר.

אם קיבלת שגיאה לפני שהזכירה את פרוטוקול ssh-dss במקום גרסת sha1, תוכל במקום זאת לנסות פקודה זו ואחריה שם המארח שלך: ssh -oHostKeyAlgorithms = + ssh-dss , שאם זה עובד תצטרך לערוך שוב את קובץ ~ / .ssh / config. לאחר שורת המארח, הוסף כרטיסייה ואת הדברים הבאים:

HostKeyAlgorithms + ssh-dss

זכור שבדיוק כמו מערכת sha1, מפתח ssh-dss הוצא משימוש בגלל בעיות אבטחה רציונליות במיוחד הקשורות אליו. שימוש בזה יכול להכניס נקודות תורפה לחיבור שלך, ולכן יש לראות זאת רק כתיקון זמני אם אפילו זה. דאגו לעדכן את השרת בהקדם האפשרי.

3 דקות קריאה