در دنیای دیجیتال امروز، کاربران لینوکس هنگام برقراری ارتباط امن از طریق پروتکل SSH ممکن است با خطاهایی مواجه شوند که روند کار را مختل میکند. یکی از رایجترین این خطاها، پیام Host Key Verification Failed است که معمولاً در زمان تغییر کلیدهای امنیتی سرور مقصد نمایش داده میشود.
این خطا ممکن است برای کاربران تازهکار و حتی افراد حرفهای گیجکننده باشد؛ اما با شناخت درست علتها و اجرای چند مرحله ساده، میتوان آن را بهراحتی برطرف کرد.
منظور از خطای Host Key Verification Failed در لینوکس چیست؟
پیغام Host Key Verification Failed یک هشدار امنیتی از سمت SSH است. این هشدار زمانی نمایش داده میشود که کلید عمومی سرور مقصد با کلیدی که قبلاً در فایل known_hosts سیستم شما ذخیره شده، مطابقت نداشته باشد.
به بیان سادهتر، SSH نمیتواند هویت سرور را تأیید کند و برای جلوگیری از حملات احتمالی، اتصال را مسدود میکند. این اتفاق معمولاً پس از تغییرات امنیتی روی سرور یا نصب مجدد سیستمعامل رخ میدهد.
دلایل بروز خطای Host Key Verification Failed
دلایل متداول ایجاد این خطا عبارتاند از:
تغییر کلیدهای SSH سرور
در صورت نصب مجدد سیستمعامل یا اعمال تنظیمات امنیتی جدید، کلیدهای قبلی دیگر معتبر نخواهند بود.
اولین اتصال به یک سرور جدید
زمانی که برای نخستین بار به سروری متصل میشوید، کلید آن هنوز در فایل known_hosts ذخیره نشده است.
احتمال حمله Man-in-the-Middle (MitM)
در برخی موارد، این خطا میتواند هشدار یک حمله امنیتی باشد که در آن فردی قصد جعل هویت سرور را دارد.
خرابی فایل known_hosts
آسیبدیدگی یا ویرایش نادرست این فایل ممکن است باعث بروز خطا شود.
عدم تطابق نسخههای SSH
تفاوت نسخه SSH در کلاینت و سرور گاهی منجر به مشکل در تأیید کلید میشود.
نکته مهم
پیش از هرگونه ویرایش در فایل known_hosts، حتماً از آن نسخه پشتیبان تهیه کنید.
روشهای رفع خطای Host Key Verification Failed در لینوکس
روش اول: حذف دستی کلید قدیمی از فایل known_hosts
اگر سرور تغییر کرده باشد، باید کلید قدیمی آن حذف شود. این فایل در مسیر زیر قرار دارد:
~/.ssh/known_hosts
میتوانید با ویرایش فایل یا استفاده از دستور sed، خط مربوط به IP یا hostname سرور را حذف کنید.
روش دوم: استفاده از دستور ssh-keygen
سادهترین و سریعترین روش استفاده از دستور زیر است:
ssh-keygen -R hostname-or-IP
این دستور بهصورت خودکار ورودی مربوط به سرور را از فایل known_hosts حذف میکند.
روش سوم: غیرفعال کردن بررسی کلید میزبان (موقت)
در صورت نیاز فوری به اتصال میتوانید دستور زیر را اجرا کنید:
ssh -o StrictHostKeyChecking=no user@hostname
⚠️ این روش امنیت اتصال را کاهش میدهد و فقط برای استفاده موقت توصیه میشود.
روش چهارم: تأیید دستی کلید جدید
در صورتی که از صحت سرور مطمئن هستید، میتوانید کلید جدید نمایشدادهشده را بررسی و تأیید کنید تا به فایل known_hosts اضافه شود.
رفع خطای Host Key Verification Failed در ویندوز
در ویندوز، محل فایل known_hosts بسته به ابزار SSH ممکن است متفاوت باشد، از جمله:
C:\Users\username\.ssh\
مسیر مربوط به نرمافزارهایی مانند PuTTY یا Cygwin
راه ساده این است که در ویندوز عبارت known_hosts را جستجو کرده و پس از یافتن فایل، خط مربوط به سرور موردنظر را حذف کنید. سپس دوباره اتصال SSH را برقرار نمایید.
پس از اتصال مجدد، کلید جدید سرور بهصورت خودکار ذخیره خواهد شد.
جمعبندی
خطای Host Key Verification Failed یکی از مکانیزمهای امنیتی SSH برای محافظت از ارتباطات شماست. این خطا معمولاً به دلیل تغییر کلید میزبان رخ میدهد و با حذف کلید قدیمی و تأیید کلید جدید بهسادگی قابل رفع است.
با اجرای صحیح این مراحل، نهتنها مشکل برطرف میشود، بلکه امنیت اتصال SSH نیز حفظ خواهد شد.
در صورتی که از خدمات سرور و هاست لینوکس پرنیا کلاد (ParniaCloud) استفاده میکنید، این تنظیمات به شما کمک میکند تا بدون اختلال و با امنیت کامل به سرورهای خود متصل شوید. پرنیا کلاد با ارائه سرویسهای متنوع میزبانی و سرورهای پایدار، گزینهای مناسب برای پروژههای لینوکسی و حرفهای محسوب میشود.




