# حل مشکل no supported authentication methods available

- پیوند: https://negarnovin.com/no-supported-authentication-methods-available/
- منتشرشده: 2024-09-09T12:07:42+00:00
- نویسنده: نگارنوین

# حل مشکل “No Supported Authentication Methods Available”

مشکل “No Supported Authentication Methods Available” یکی از مشکلات متداول در زمان
برقراری اتصال به [سرور](https://negarnovin.com/unlimited-traffic-virtual-server/)
های لینوکس از طریق SSH (Secure Shell) محسوب می شود. این خطا زمانی رخ می دهد که کلاینت
تلاش می کند با استفاده از روشی که سرور اجازه نمی دهد به سرور متصل شود. در ادامه 
به بررسی عمیق این مشکل، دلایل احتمالی بروز آن، و راه حل های مختلف برای رفع آن می
پردازیم.

## علت های احتمالی

### تنظیمات نادرست در فایل SSH

یکی از اصلی ترین دلایل بروز این خطا می تواند تنظیمات نادرست در فایل های پیکربندی
SSH باشد. فایل های اصلی که در این خصوص باید بررسی شوند شامل `/etc/ssh/sshd_config`
در سمت سرور و `~/.ssh/config` در سمت کلاینت هستند.

### عدم وجود روش های احراز هویت صحیح

ممکن است سرور به درستی تنظیم نشده باشد تا روش های احراز هویت خاصی را پشتیبانی کند.
به عنوان مثال، شاید سرور تنها اجازه احراز هویت بر پایه ی کلید عمومی (Public Key 
Authentication) را بدهد و کلاینت سعی در استفاده از روش های دیگری مانند پسورد داشته
باشد.

### مشکلات مرتبط با مجوز فایل ها

اگر مجوزهای فایل های کلید عمومی و خصوصی به درستی تنظیم نشده باشند، سرور امکان پذیرش
آنها را ندارد. این مسئله می تواند باعث نمایش خطای “No Supported Authentication Methods
Available” شود.

## روش های حل مشکل

### بررسی و تنظیم مجدد فایل های پیکربندی

ابتدا باید فایل پیکربندی `sshd_config` سرور را بررسی کنید. در ادامه برخی از خطوط
مهم این فایل آمده است که باید به درستی تنظیم شده باشند:

    ```language-plaintext
    PasswordAuthentication yes
    PubkeyAuthentication yes
    ChallengeResponseAuthentication no
    UsePAM yes
    ```

همچنین در فایل کلاینت ممکن است نواحی مختلفی برای تنظیمات مدنظر داشته باشید. این 
مثال یک فایل پیکربندی مناسب کلاینت را نشان می دهد:

    ```language-plaintext
    Host your_server
     HostName your_server_ip
     User your_user
     IdentityFile ~/.ssh/id_rsa
    ```

### تولید و نصب کلید های SSH

اگر از روش احراز هویت با استفاده از کلید های SSH استفاده می کنید، باید مطمئن شوید
که این کلیدها به درستی تولید و نصب شده اند.

به کمک دستورات زیر می توانید کلید های عمومی و خصوصی را تولید کنید:

    ```language-plaintext
    ssh-keygen -t rsa
    ```

پس از تولید کلیدها، کلید عمومی را به سرور انتقال دهید:

    ```language-plaintext
    ssh-copy-id your_user@your_server_ip
    ```

### تنظیم مجوز فایل ها

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

 * برای پوشه ی `.ssh`: `700`
 * برای فایل `id_rsa`: `600`
 * برای فایل `id_rsa.pub`: `644`
 * برای فایل `authorized_keys`: `600`

می توانید با استفاده از دستورات زیر مجوزها را به درستی تنظیم کنید:

    ```language-plaintext
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/id_rsa
    chmod 644 ~/.ssh/id_rsa.pub
    chmod 600 ~/.ssh/authorized_keys
    ```

### بررسی و تنظیم سرویس SSH

گاهی مشکل ممکن است به دلیل عدم راه اندازی مجدد سرویس SSH پس از اعمال تغییرات در 
فایل های پیکربندی باشد. بنابراین پس از هرگونه تغییر، سرویس را به کمک دستور زیر راه
اندازی مجدد کنید:

    ```language-plaintext
    sudo systemctl restart ssh
    ```

### استفاده از روش های مختلف احراز هویت

ممکن است روش احراز هویتی که شما در نظر گرفته اید به دلایلی قابل استفاده نباشد. در
این صورت می توانید یک روش جایگزین مانند استفاده از پسورد به جای کلید عمومی یا برعکس
را امتحان کنید.

در نهایت در صورتی که هیچ یک از روش های فوق موفق به حل مشکل نشد، بررسی لاگ های سیستم
می تواند کمک کننده باشد. فایل لاگ مربوط به سرویس SSH معمولا در مسیر `/var/log/auth.
log` یا `/var/log/secure` موجود است.

## نتیجه گیری

خطای “No Supported Authentication Methods Available” می تواند به دلایل مختلفی بروز
کند. اما با بررسی و تنظیم درست فایل های پیکربندی، تولید و نصب صحیح کلید های SSH،
تنظیم مجوز فایل ها و بررسی فایل های لاگ می توان این مشکل را به سادگی برطرف کرد. 
همچنین استفاده از روش های مختلف احراز هویت به جای تک راه حل ها می تواند مسیر شما
را برای حل این مشکل هموارتر کند.

### 📌 خلاصه

مشکل "No Supported Authentication Methods Available" یکی از مشکلات متداول در زمان
برقراری اتصال به سرورهای لینوکس
