# حل مشکل ssh اتصال به سرور

- پیوند: https://negarnovin.com/%d8%ad%d9%84-%d9%85%d8%b4%da%a9%d9%84-ssh-%d8%a7%d8%aa%d8%b5%d8%a7%d9%84-%d8%a8%d9%87-%d8%b3%d8%b1%d9%88%d8%b1/
- منتشرشده: 2024-06-12T13:51:22+00:00
- نویسنده: نگارنوین

در این مقاله با شما هستیم تحت عنوان حل مشکل ssh اتصال به سرور پس تا انتهای این مطلب
مفید ما را همراهی کنید.

![حل مشکل ssh اتصال به سرور](https://negarnovin.com/wp-content/uploads/2024/06/%
D8%AD%D9%84-%D9%85%D8%B4%DA%A9%D9%84-ssh-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D8%A8%D9%
87-%D8%B3%D8%B1%D9%88%D8%B1.png)

مشکل وصل نشدن SSH یک چالش همیشگی برای کاربران ترمینال لینوکس است. مواجهه با ارور
SSH هنگام اتصال به [سرور مجازی](https://negarnovin.com/unlimited-traffic-virtual-server/)
لینوکس ممکن است برای همه افراد اتفاق بیفتد. چنانچه شما نیز قادر به اتصال به سرور
ابری نیستید و با خطای SSH مواجه می شوید، این مقاله برایتان کاربردی خواهد بود. در
مطلب پیش رو به بررسی رایج ترین مشکلات SSH می پردازیم

هنگام استفاده از پروتکل SSH (Secure Shell) برای دسترسی به یک سرور راه دور، ممکن 
است با پیامSSH Connection   Refused Error   واجه شوید. این یک خطای رایج است که نشان
می دهد سرور SSH شما اتصالات را نمی پذیرد.

در این آموزش توضیح خواهیم داد که پروتکل SSH (Secure Shell) چیست و علل احتمالی خطای
SSH Connection چیست. همچنین، ما شما را از طریق شش روش موثر برای حل این خطای اتصال
SSH راهنمایی خواهیم کرد.

در این بخش، ما رایج ترین علل SSH Connection   Refused” Error   را کشف می کنیم.

**پورت SSH اشتباه است**

پورت SSH به شما امکان دسترسی به یک سرور راه دور را می دهد. به همین دلیل مهم است 
که هنگام باز کردن پورت SSH مطمئن شوید که به سمت راست اشاره می کنید. در غیر این صورت،
هنگام تلاش برای انجام یک اتصال از راه دور، پیام SSH Connection Refused Error   را
دریافت خواهید کرد.

**اعتبارنامه ها نادرست هستند**

چند بار تایپ کردن اعتبارنامه اشتباه منجر به تلاش های ناموفق برای ورود به سیستم می
شود و باعث خطای SSH Connection Refused Error   شد. مطمئن شوید که نام کاربری، رمز
عبور، نام میزبان و پورت صحیح را وارد کرده اید تا از خرابی اتصال SSH جلوگیری کنید.

**کلاینت SSH نصب نشده است**

یکی دیگر از مشکلات رایجی که باعث خطای SSH “Connection رد شد” نصب نشدن نرم افزار 
کلاینت SSH در لوکال هاست شماست. یک کلاینت SSH اتصال ایمن به سرورهای SSH را فعال 
می کند. به طور خلاصه، در وهله اول نمی توانید درخواست اتصال به سرور SSH را بدون کلاینت
SSH آغاز کنید.

**SSH Daemon روی سرور نصب نشده است**

علاوه بر سرویس گیرنده SSH، برای دسترسی به سرور راه دور از دستگاه محلی خود، باید 
SSH Daemon را نیز نصب کنید. SSH Daemon درخواست های احراز هویت شده ای را که از طریق
یک کلاینت SSH انجام می شود می پذیرد. هنگامی که SSH Daemon به درستی پیکربندی نشده
باشد، ممکن است مشکل “اتصال رد شده” SSH رخ دهد.

**سرویس های SSH غیرفعال هستند**

افزایش ترافیک و حملات DDoS دلایل احتمالی برای غیرفعال شدن سرویس SSH هستند. وقتی 
سرویس SSH شما قطع است، SSH Daemon نمی تواند اتصالات به سرور راه دور را بپذیرد. بنابراین،
با پیام SSH “اتصال رد شد” روبرو خواهید شد.

حل مشکل ssh اتصال به سرور

**فایروال از اتصال SSH جلوگیری می کند**

هنگامی که یک فایروال از سرور شما در برابر اتصالات ورودی غیرمجاز محافظت می کند، ممکن
است اتصالات SSH را نیز مسدود کند. شما باید قوانین فایروال خاصی را اعمال کنید تا 
درخواست های اتصال SSH را فعال کنید و از خطای SSH “Connection Refuzed” اجتناب کنید.

## ۶ راه برای رفع خطای اتصال SSH Refused

پس از شناسایی آنچه باعث خطای SSH Connection Refuzed شده است، نوبت به رفع آن رسیده
است.

در این بخش، نگاهی دقیق تر به شش روش اثبات شده برای انجام این کار خواهیم داشت.

### ۱. شماره پورت SSH را تغییر دهید

یک اتصال SSH به طور پیش فرض روی پورت ۲۲ اجرا می شود، اما ممکن است در صورت عدم استفاده
برای مدتی به دلایل امنیتی، پورت بسته شود. بنابراین، قبل از اتصال به سرور راه دور،
از باز بودن پورت SSH اطمینان حاصل کنید.

برای بررسی پورت هایی که به درخواست ها گوش می دهند از دستور زیر استفاده کنید:

**sudo lsof -i -n -P | grep گوش کن**

با این حال، پورت باز پیش فرض ۲۲ در برابر حملات سایبری آسیب پذیرتر است. ما شما را
توصیه می کنیم که از یک پورت متفاوت برای کاهش خطرات امنیتی استفاده کنید.

در اغلب هاست ها از **پورت SSH ۶۵۰۰۲** سفارشی استفاده می کنند . بنابراین، هنگام دسترسی
به جزئیات SSH در Panel خود، ۶۵۰۰۲ را به عنوان شماره پورت پیش فرض خواهید دید.

### ۲. اعتبارنامه را دو بار بررسی کنید

مطمئن شوید که از اعداد و کاراکترهای صحیح برای اطلاعات زیر استفاده می کنید:

 * **نام میزبان **– این نام دامنه شما یا آدرس IP سرور شما است.
 * **نام کاربری** – نام کاربری FTP خود را وارد کنید.
 * **بندر **– کاربران هاستینگر باید از پورت سفارشی استفاده کنند ۶۵۰۰۲، در حالی که
   دیگران می توانند پورت پیش فرض ۲۲ را انتخاب کنند.
 * **کلمه عبور **– رمز عبور حساب FTP خود را وارد کنید.

برای کاربران اکثر هاست ها ، نام کاربری و رمز عبور SSH شما با حساب FTP شما یکسان 
خواهد بود. شما می توانید این اعتبار را در  Panel خود پیدا کنید. اگر این مورد در 
دسترس نبود از ارائه دهنده میزبانی و هاست خود این اطلاعات را بخواهید.

برای مدیریت رمز عبور خود، به **Panel** هاست بروید **.** در نوار کناری، کلیک کنید**
میزبانی → فایل ها → حساب های FTP**. جزئیات نام کاربری FTP و گزینه ای برای تغییر 
رمز عبور FTP خود را مشاهده خواهید کرد. ما در این مثال تصاویر هاست هاستینگر را مثال
زدیم ولی به طورکلی اغلب شرکت ها مسیری مشابه تصاویر زیر را دارند.

خطای SSH Connection

توجه داشته باشید که اگر از میزبان های وب دیگر استفاده می کنید، ممکن است مجبور شوید
به روش دیگری به این جزئیات دسترسی داشته باشید.

### ۳. مطمئن شوید که SSH فعال است

اگر سرور SSH خود را فعال نکنید، SSH Daemons قادر به گوش دادن و پذیرش درخواست ها 
نخواهند بود.

کاربران هاست های مختلف می توانند تنظیمات SSH را از طریق کنترل پنل وب مدیریت کنند.
به سادگی به مسیر خود بروید **Panel** **→** **میزبانی**. سپس، کلیک کنید **مدیریت 
کنید **در وب سایت مورد نظر

پس از آن، کلیک کنید **پیشرفته → دسترسی به SSH **بر روی **Panel**  نوار کناری بررسی
کنید که آیا اعتبار شما درست است و کلیک کنید **فعال کردن** تا SSH خود را فعال کنید.

خطای SSH Connection

### ۴. مطمئن شوید که SSH Client نصب شده است

راه اندازی SSH Client در دستگاه خود به شما امکان می دهد دستورات از راه دور را روی
سرور خود انجام دهید. ابتدا، با وارد کردن این مورد در ترمینال خود، بررسی کنید که 
آیا این مورد را روی دستگاه خود نصب کرده اید یا خیر:

کاربران هاستینگر می توانند دستور SSH را از آن کپی کنند **hPanel**. برو به **پیشرفته**
بخش، کلیک کنید **دسترسی SSH، **و متن فرمان را در زیر می بینید **وارد SSH شوید **
بخش سپس، روی نماد کپی کلیک کنید.

کاربران لینوکس و macOS می توانند از ترمینال داخلی برای اتصال حساب ها از طریق SSH
استفاده کنند. در همین حال، کاربران ویندوز باید از یک کلاینت SSH برای برقراری ارتباط
با حساب های خود استفاده کنند، به عنوان مثال، [PuTTY](https://www.putty.org/).

روی همان **وارد SSH شوید** روی دکمه PuTTY کلیک کنید و لینک های دانلود فایل های بسته
را مشاهده خواهید کرد.

از جزئیات SSH روی **Panel **خود استفاده کنید مانند آدرس IP سرور، نام کاربری، پورت
و رمز عبور برای اتصال به PuTTY.

### ۵. مطمئن شوید که SSH Daemon روی سرور نصب شده است

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

اکثر شرکت های میزبانی وب یک Daemon SSH از پیش نصب شده روی سرور خود ارائه می کنند.
اما وضعیت SSH Daemon شما ممکن است “پایین” باشد. اگر چنین است، در مورد این مشکل با
ارائه دهنده هاست خود تماس بگیرید.

همچنین، می توانید سرویس SSH خود را با استفاده از دستور زیر راه اندازی مجدد کنید:

**دستور sudo service ssh restart**

همچنین می توانید از طریق PuTTY بررسی کنید که آیا سرویس به درستی کار می کند یا خیر.
برای این کار از این دستورات استفاده کنید:

 * برای کاربران Debian ۷ و Ubuntu ۱۴.۰۴ – **وضعیت ssh سرویس sudo**
 * برای کاربران CentOS ۶ – **وضعیت sshd سرویس sudo**
 * برای کاربران سیستم – **وضعیت sudo systemctl sshd -l**

اگر نمی توانید SSH Daemon را پیدا کنید، باید آن را برای شروع پذیرش اتصالات تنظیم
کنید.

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

**sudo apt نصب openssh-server**

### ۶. تنظیمات فایروال خود را بررسی کنید

تنظیمات فایروال خود را مدیریت کنید تا از مسدود کردن اتصالات SSH جلوگیری کنید. iptables
خود را روی سرور فعال کنید و ببینید که آیا “رد کردن” یا “DROP” را در تنظیمات پورت
SSH شما نشان می دهد. سپس آن را به «ACCEPT» تغییر دهید.

می توانید از این دستور در ترمینال خود برای ذخیره قوانین به روز شده استفاده کنید:

**سرویس iptables ذخیره می کند**

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

**sudo ufw allow port /tcp**

پس از آن، باید با وارد کردن این مورد در رابط خط فرمان خود، تنظیمات فایروال را بارگیری
مجدد کنید:

**sudo ufw بارگذاری مجدد**

با تایپ این دستور بررسی کنید که آیا وضعیت به “ALLOW” تغییر کرده است:

حل مشکل ssh اتصال به سرور

**وضعیت sudo ufw**

## رایج ترین خطاهای SSH

اولین گام برای اتصال یک کلاینت SSH به یک سرور SSH ایجاد اتصال اولیه به شبکه است؛
اما گاهی اوقات ممکن است به دلیل بروز مشکلاتی، فرایند اتصال با خطا مواجه شود. برای
رفع خطای اتصال SSH ابتدا بهتر است با رایج ترین مشکلات SSH آشنا شویم و علت آن ها 
را بررسی کنیم. از همین رو در این بخش به توضیح ۳ خطای مهم SSH هنگام اتصال به سرور
می پردازیم:

### ۱. خطای Hostname Resolution

بیشتر خطاهای Resolution زمانی رخ می دهد که SSH قادر به پیدا کردن آدرس شبکه نباشد.
هرچند بیشتر اوقات این خطا به DNS مربوط می شود، اما ممکن است علت ریشه ای آن مشکلات
DNS نباشد. در یک کلاینت OpenSSH فرمانی مانند ssh user@example.com ممکن است خطای 
زیر را برگرداند:

    ```wp-block-code
    ssh: Could not resolve hostname example.com: Name or service not known
    ```

در نرم افزار PuTTY شما ممکن است خطایی با متن زیر مشاهده کنید:

    ```wp-block-code
    Unable to open connection to example.com Host does not exist
    ```

PuTTY نرم افزاری برای سیستم عامل ویندوز است که بعد از خرید سرور مجازی می توانید 
با استفاده از آن به سرور متصل شوید. برای عیب یابی (Troubleshoot) این خطا می توانید
مراحل زیر را طی کنید:

 * ابتدا نام میزبان (Hostname) را بررسی کنید که به درستی نوشته شده باشد.
 * بررسی کنید که می توانید نام میزبان را با استفاده از دستور ping سیستم در دستگاه
   کلاینت حل کنید. استفاده از سایت های دیگری مانند WhatsMyDns.net نیز به شما کمک
   می کند تا حافظه پنهان DNS خود را بررسی کنید.

نوشتن IP به جای نام میزبان می تواند به عنوان یک راه حل موقت در حل مشکلات DNS به 
شما کمک کند. به عنوان مثال، به جای ssh user@example.com از فرمان ssh user@۲۰۳.۰.۱۱۳.۰
استفاده کنید.

### ۲. ارور connection timed out در PuTTY

خطای connection timeout به این معنا است که کلاینت تلاش می کند تا به شبکه متصل شود،
اما سرور در مدت زمان مشخص شده قادر به پاسخ گویی نبوده است. دلیل دریافت نکردن پاسخ
از سمت سرور در بازه زمانی مشخص ممکن است خاموش بودن سرور یا آدرس IP اشتباه باشد.

در یک کلاینت OpenSSH، فرمانی مانند ssh user@۲۰۳.۰.۱۱۳.۰ ممکن است باعث بروز خطای 
زیر شود:

    ```wp-block-code
    ssh: connect to host 203.0.113.0 port 22: Connection refused
    ```

خطای وصل نشدن SSH در این شرایط در برنامه PuTTY به شکل زیر نمایش داده خواهد شد:

    ```wp-block-code
    Network error: Connection refused
    ```

برای عیب یابی ارور connection timed out در PuTTY کارهای زیر را انجام دهید:

 * صحت آدرس IP میزبان را بررسی کنید.
 * بررسی کنید که شبکه شما از اتصال از طریق پورت SSH مورد استفاده پشتیبانی می کند.
   برخی از شبکه های عمومی ممکن است پورت ۲۲ یا پورت های SSH سفارشی را مسدود کنند.
   برای مثال، شما می توانید سایر هاست ها را با استفاده از همان پورت با یک سرور SSH
   شناخته شده امتحان کنید. از این طریق متوجه خواهید شد که آیا مشکل مختص سرور ابری
   شماست یا خیر!
 * از رعایت قوانین فایروال سرور ابری مطمئن شوید.

### ۳. ارور Connection Refused در Putty

وصل نشدن SSH به دلیل ارور connection refused به این معنا است که درخواست به هاست 
SSH داده شده، اما هاست درخواست را نمی پذیرد و رد می کند. ارور connection refused
در PuTTY کاملا با ارور connection timeout تفاوت دارد؛ در ارور اول سرور درخواست ارتباط
را رد می کند و در ارور دوم زمان پاسخ گویی به درخواست کلاینت تمام می شود.

در یک کلاینت OpenSSH، فرمانی مانند ssh user@۲۰۳.۰.۱۱۳.۰ ممکن است باعث نمایش خطای
زیر شود:

    ```wp-block-code
    ssh: connect to host 203.0.113.0 port 22: Connection refused
    ```

در چنین شرایطی، در نرم افزار PuTTY نیز خطای زیر را مشاهده خواهید کرد:

    ```wp-block-code
    Network error: Connection refused
    ```

دلایل ریشه ای بروز ارور connection refused ممکن است با دلایل ارور connection timeout
یکسان باشد؛ برای عیب یابی این خطای وصل نشدن ssh موارد زیر را می توانید بررسی کنید:

 * از درست بودن آدرس IP میزبان مطمئن شوید.
 * بررسی کنید که آیا شبکه شما از اتصال از طریق پورت SSH مورد استفاده پشتیبانی می
   کند؛ زیرا برخی از شبکه های عمومی پورت ۲۲ یا پورت های SSH سفارشی را مسدود می کنند.
   برای مثال، شما می توانید سایر هاست ها را با استفاده از همان پورت با یک سرور SSH
   شناخته شده امتحان کنید. از این طریق متوجه خواهید شد که آیا مشکل مختص سرور ابری
   شماست یا خیر!
 * قوانین فایروال سرور ابری موردنظرتان را بررسی کنید.
 * مطمئن شوید که سرویس در حال حاضر اجرا می شود و به پورت مورد انتظار متصل است.

## بررسی راه حل مشکل SSH

حالا که با رایج ترین خطاهای SSH و نحوه عیب یابی آن ها آشنا شدید، وقت آن است که به
بررسی راه حل مشکل SSH بپردازیم. به طور کلی، در این بخش قرار است به بررسی ۳ راهکار
بپردازیم که با کمک آن بتوانید مشکلات قطع شدن SSH را در سیستم عامل های مختلف برطرف
کنید:

### ۱. برای رفع خطای SSH، فایروال را بررسی کنید

[**سرور مجازی فنلاند**](https://negarnovin.com/%D8%B3%D8%B1%D9%88%D8%B1-%D9%85%D8%AC%D8%A7%D8%B2%DB%8C-%D9%81%D9%86%D9%84%D8%A7%D9%86%D8%AF/)

برخی از مشکلات اتصال SSH ناشی از تنظیمات فایروال است. اگر فایروال شما به گونه ای
تنظیم شده باشد که پورت ها یا خدمات خاصی را مسدود کند، مانع از اتصال شما به سرور 
SSH خواهد شد. اگر یک قانون فایروال اضافه می کنید که اجازه اتصال با آدرس IP را به
دستگاه محلی شما می دهد، بررسی کنید که آدرس IP اختصاص داده شده توسط ISP شما تغییر
نکرده باشد. در صورت تغییر، باید آن قانون فایروال را برای اجازه دادن به آدرس IP یا
محدود آدرس جدید اصلاح کنید.

نحوه بررسی قوانین فایروال به این بستگی دارد که سرور مجازی شما از کدام فایروال استفاده
می کند. همچنین باید بدانید که سرویس SSH شما از چه پورتی استفاده می کند. پورت پیش
فرض معمولا ۲۲ است، اما محض اطمینان باز هم پورت سرویس SSH خود را بررسی کنید.

**بررسی فایروال UFW**

کاربرانی که با UFW کار می کنند، باید از ufw status برای بررسی فایروال خود استفاده
کنند.

    ```wp-block-code
    ufw status
    ```

خروجی مانند زیر پورت ها را نمایش خواهد داد:

    ```wp-block-code
    Status: active

    To                         Action      From

    --                         ------      ----

    22                         LIMIT       Anywhere

    443                        ALLOW       Anywhere

    80                         ALLOW       Anywhere

    Anywhere                   ALLOW       192.168.0.0

    22 (v6)                    LIMIT       Anywhere (v6)

    443 (v6)                   ALLOW       Anywhere (v6)

    80 (v6)                    ALLOW       Anywhere (v6)
    ```

حتما مطمئن شوید که پورت SSH شما در این فهرست وجود دارد.

**بررسی FirewallD**

اگر از کاربران FirewallD هستید، از دستور firewall-cmd برای فهرست کردن سرویس ها استفاده
کنید.

    ```wp-block-code
    firewall-cmd --list-services
    ```

خروجی این دستور، فهرستی از سرویس ها از جمله SSH (پورت پیش فرض ۲۲) خواهد بود که نشان
می دهد فایروال از ترافیک SSH پشتیبانی می کند:

    ```wp-block-code
    dhcpv6-client http ssh
    ```

اگر از پورت سفارشی برای SSH استفاده می کنید، بررسی را می توانید با استفاده از –list-
ports انجام دهید. اگر یک تعریف سرویس سفارشی ایجاد کرده اید، همچنان باید SSH را با–
list-services ببینید.

**بررسی iptables**

برای سیستم های لینوکسی که UFW یا FirewallD را اجرا نمی کنند، قوانین فایروال شما 
با استفاده از فرمان iptables با sudo یا به عنوان کاربر اصلی (root) فهرست خواهد شد:

    ```wp-block-code
    iptables -nL
    ```

خروجی زیر نشان می دهد که هیچ قانونی وجود ندارد که ترافیک SSH را مسدود کرده باشد:

    ```wp-block-code
    Chain INPUT (policy ACCEPT)

    target     prot opt source               destination

    Chain FORWARD (policy ACCEPT)

    target     prot opt source               destination

    Chain OUTPUT (policy ACCEPT)

    target     prot opt source               destination
    ```

اگر قوانین یا خط مشی (Policy) پیش فرض REJECT یا DROP را مشاهده کردید، باید مطمئن
شوید که زنجیره INPUT به پورتی که سرویس SSH شما روی آن اجرا می شود، اجازه می دهد.
این پورت به صورت پیش فرض ۲۲ است.

### ۲. وضعیت (Status) سرویس SSH را بررسی کنید

اگر امکان SSH به سرور ابری شما وجود ندارد، باید بررسی کنید که سرویس SSH در حال اجرا
باشد. نحوه اجرای سرویس برای سیستم های مختلف با یکدیگر متفاوت خواهد بود. نسخه های
قدیمی تر سیستم عامل (اوبونتو ۱۴ و پایین تر، CentOS ۶ و Debian ۶) ممکن است از فرمان
service پشتیبانی شده توسط Upstart استفاده کنند. توزیع های جدیدتر با systemd از فرمان
systemctl استفاده می کنند. توزیع های Red Hat-based مانند CentOS و فدورا این سرویس
را sshd می نامند؛ درحالی که این سرویس در دبیان و اوبونتو ssh نام دارد.

**استفاده از سرویس**

برای سیستم هایی که از فرمان service استفاده می کنند، وضعیت فرایند SSH را با دستور
زیر (اجرا به عنوان ریشه یا با sudo) بررسی کنید:

    ```wp-block-code
    service ssh status
    ```

خروجی مانند زیر به شما نمایش داده خواهد شد که شامل PID (شناسه فرایند) است و نشان
می دهد که فرایند طبق انتظار در حال اجرا است:

    ```wp-block-code
    ssh start/running, process 1262
    ```

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

    ```wp-block-code
    ssh stop/waiting
    ```

در این مورد با استفاده از service ssh start می تونید آن را ری استارت کنید.

**استفاده از systemctl**

به طور مشابه، در سروری که از systemd استفاده می شود (مانند CentOS ۷) باید از دستور
systemctl برای بررسی وضعیت استفاده کرد:

    ```wp-block-code
    systemctl status sshd
    ```

یک سرویس در حال اجرا خروجی را مانند زیر با active (running) در خط Active: نشان می
دهد.

    ```wp-block-code
    sshd.service - OpenSSH server daemon

       Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)

       Active: active (running) since Mon 2017-03-20 11:00:22 EDT; 1 months 1 days ago

      Process: 899 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)

     Main PID: 906 (sshd)

       CGroup: /system.slice/sshd.service

               ├  906 /usr/sbin/sshd -D

               ├26941 sshd: [accepted]

               └26942 sshd: [net]
    ```

اگر سرویس در حال اجرا نیست، خط Active عبارت inactive را با ورودی های آخرین journal
برای سرویس نشان می دهد:

    ```wp-block-code
    sshd.service - OpenSSH server daemon

       Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)

       Active: inactive (dead) since Fri 2017-04-21 08:36:13 EDT; 2s ago

      Process: 906 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=0/SUCCESS)

      Process: 899 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)

     Main PID: 906 (code=exited, status=0/SUCCESS)
    ```

در این مورد با استفاده از systemctl start sshd می توانید سرویس را ری استارت کنید.

### ۳. پورت سرویس SSH را بررسی کنید

دو روش کلی برای بررسی اینکه سرویس SSH روی کدام پورت اجرا می شود، وجود دارد. در روش
اول باید فایل پیکربندی SSH و در روش دوم فرایند در حال اجرا را بررسی کنید. در بیشتر
سیستم ها، /etc/ssh/sshd_config فایل پیکربندی SSH است. پورت پیش فرض نیز ۲۲ است؛ اما
می تواند توسط هر خط پیکربندی در این فایل که یک دستورالعمل پورت را با عدد مشخص می
کند، لغو شود. شما می توانید با استفاده از grep برای جست وجوی خطوط استفاده کنید:

    ```wp-block-code
    grep Port /etc/ssh/sshd_config
    ```

خروجی زیر با شماره پورت به شما نمایش داده خواهد شد:

    ```wp-block-code
    Port 22
    ```

درصورتی که می دانید سرویس در حال اجرا است، شما می توانید تایید کنید که سرویس فقط
با پورت مورد انتظار با استفاده از ss (اجرا با sudo یا به عنوان کاربر اصلی) اجرا 
می شود. خروجی مشابهی برای دستور netstat -plnt ارائه شده، اما ss دستور ترجیحی برای
جست وجوی اطلاعات سوکت از هسته (kernel) است.

    ```wp-block-code
    ss -plnt
    ```

### 📌 خلاصه

در این مقاله با شما هستیم تحت عنوان حل مشکل ssh اتصال به سرور پس تا انتهای این مطلب
مفید ما را همراهی کنید

## 🔗 مطالب مرتبط

 * [آموزش اتصال به ویندوز سرور](https://negarnovin.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a7%d8%aa%d8%b5%d8%a7%d9%84-%d8%a8%d9%87-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2-%d8%b3%d8%b1%d9%88%d8%b1/)
 * [راهکار های امنیتی برای هاست و سرور مجازی](https://negarnovin.com/%d8%b1%d8%a7%d9%87%da%a9%d8%a7%d8%b1-%d8%a7%d9%85%d9%86%db%8c%d8%aa%db%8c-%d8%a8%d8%b1%d8%a7%db%8c-%d9%87%d8%a7%d8%b3%d8%aa-%d9%88-%d8%b3%d8%b1%d9%88%d8%b1-%d9%85%d8%ac%d8%a7%d8%b2%db%8c/)
 * [تغییر پورت SSH](https://negarnovin.com/%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d9%be%d9%88%d8%b1%d8%aa-ssh/)
