loading...
خطای احراز هویت Host key verification failed
پرینت
  • 3


خطای Host key verification failed چیست و چگونه رفع می‌شود؟

 

این خطا زمانی رخ می‌دهد که کلید میزبان (Host Key) سروری که به آن متصل می‌شوید، با کلید ذخیره‌شده در سیستم شما مطابقت ندارد. دلایل معمول این مشکل عبارتند از:

  • تغییر کلید سرور (مثلاً بعد از نصب مجدد یا تغییر تنظیمات SSH)
  • احتمال حمله مرد میانی (MITM)
  • وجود کلید قدیمی یا ناسازگار در فایل known_hosts

 

راهکارهای رفع خطا:

 

  • حذف کلید قدیمی از فایل known\_hosts به صورت امن

اگر مطمئن هستید تغییر کلید سرور به‌دلیل به‌روزرسانی یا تغییرات مشروع است، کلید قبلی را با دستور زیر حذف کنید:

bash

ssh-keygen -R آدرس-سرور

مثال:

bash

ssh-keygen -R 192.168.1.10

ssh-keygen -R example.com

سپس دوباره تلاش کنید به سرور وصل شوید:

bash

ssh user@server

  • حذف دستی کلید قدیمی از known\_hosts

اگر ترجیح می‌دهید مستقیم فایل را ویرایش کنید، مراحل زیر را دنبال کنید:

فایل known_hosts را باز کنید:

bash

nano ~/.ssh/known_hosts

  • خط مربوط به سرور مورد نظر را پیدا و حذف کنید.
  • فایل را ذخیره کرده و خارج شوید.
  • دوباره تلاش کنید به سرور وصل شوید.

 

  • غیرفعال کردن موقت بررسی کلید میزبان (فقط در مواقع اضطراری)

اگر اطمینان دارید که اتصال امن است و می‌خواهید سریعاً وارد شوید، می‌توانید بررسی کلید میزبان را به شکل موقت غیرفعال کنید:

bash

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@server

  • این روش امنیت اتصال را کاهش می‌دهد و باید فقط در شرایط اضطراری و موقتی استفاده شود.

 

  • بررسی و تایید کلید جدید سرور برای امنیت بیشتر

اگر مطمئن نیستید کلید جدید سرور معتبر است یا خیر، بهتر است کلید فعلی را با کلید اصلی سرور مقایسه کنید. برای دریافت کلید سرور از این دستور استفاده کنید:

bash

ssh-keyscan -H آدرس-سرور

سپس این کلید را با کلیدهای موجود در سرور مثلاً در مسیر /etc/ssh/ssh_host__key.pub مقایسه کنید.

  • اگر سرور تغییر کرده، کلید قدیمی را حذف کنید.
  • اگر کلید جدید مشکوک است، حتماً با مدیر سرور تماس بگیرید.
  • در مواقع اضطراری و موقت، می‌توانید بررسی کلید را غیرفعال کنید ولی توصیه نمی‌شود.

آیا این پاسخ به شما کمک کرد؟

مقالات مربوطه