برنامه نویسی
رفع خطاهای رد شده مجوز SSH به دلیل آسیب پذیری های نسخه OpenSSH
اگر هنگام استفاده از SSH با خطاهایی مانند موارد زیر مواجه شدید:
مثال 1:
foo@12.34.56.789: Permission denied (publickey).
مثال 2:
sign_and_send_pubkey: no mutual signature supported
foo@12.34.56.789: Permission denied (publickey).
این احتمال وجود دارد که از نسخه قدیمی OpenSSH در سرور خود استفاده کنید که در برابر الگوریتم SHA-1 آسیب پذیر است که در OpenSSH نسخه 8.8 (2021-09-26) غیرفعال شده است. اگر مطمئن هستید که کلید عمومی را به درستی به سرور خود اضافه کرده اید، این می تواند دلیل پیام های خطا باشد.
برای تعیین نسخه OpenSSH محلی خود، دستور زیر را وارد کنید:
ssh -vv local
نتیجه باید به این صورت باشد:
برای حل مشکل، اضافه کنید PubkeyAcceptedKeyTypes +ssh-rsa
به ورودی میزبان خود در فایل ~/.ssh/config. می بایست شبیه به این باشه:
Host fooServer
PubkeyAcceptedKeyTypes +ssh-rsa
Hostname 12.34.56.789
User forge
IdentityFile=~/.ssh/id_rsa
پس از انجام این تغییرات، دوباره امتحان کنید و مشکل باید حل شود.