همانطور که می‌دانید، نشست‌های SSH پس از 10 دقیقه عدم فعالیت به دلایل امنیتی خاتمه می‌یابد. بدین گونه، درصورتی که اشتباهاً متصل شده و آن را رها کرده‌اید، از دسترسی سایر کاربران به سرور جلوگیری می‌کند.

 

این روند امنیتی، در صورت تمایل شما قابل تغییر است. در اینجا، یک راه حل ساده برای جلوگیری از قطع اتصال خودکار نشست SSH در لینوکس ارائه شده است. این روش، در اکثر سیستم‌های لینوکس قابل اعمال است.

 

این مطلب نیز ممکن است برای شما مفید باشد: اجازه یا منع دسترسی SSH برای کاربر یا گروه خاص در لینوکس

 

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

به منظور پیکربندی کاربر فعلی، فایل پیکربندی SSH را ویرایش نمایید:

$ nano ~/.ssh/config

 

خطوط زیر را به فایل اضافه کنید:

Host *
 ServerAliveInterval 60

 

اطمینان حاصل نمایید که خط دوم را با یک فاصله از حاشیه قرار داده باشید.

هنگامی‌که این خطوط را در سیستم کلاینت SSH خود اضافه کردید، بسته‌ای به نام no-op (بدون عملیات) به سیستم Remote شما ارسال می‌شود. بسته no-op، به سیستم ریموت اطلاع می‌دهد که هیچ کاری برای انجام دادن نیست. همچنین به کلاینت می‌گوید، اتصال SSH هنوز با سیستم ریموت برقرار است. بنابراین کلاینت اتصال TCP را نبسته و شما از سیستم خارج نمی‌شوید.

در اینجا “Host*” نشان می‌دهد، این پیکربندی برای همه میزبان‌های ریموت قابل استفاده است. "ServerAliveInterval 60"، تعداد ثانیه‌های انتظار برای ارسال بسته op-op را نشان می‌دهد.

به منظور تنظیم این مورد برای یک میزبان خاص، باید نام میزبان ریموت را بعد از خط “Host” بصورت زیر اضافه کنید.

Host ostechnix
 ServerAliveInterval 60

 

پیکربندی فوق، تنها از قطع اتصال SSH میزبان ریموتی به نام "ostechnix" جلوگیری می‌کند.

اکنون به منظور اعمال تنظیمات، دستور زیر را اجرا نمایید.

$ source ~/.ssh/config

 

به منظور اعمال این تنظیمات برای همه کاربران در سیستم خود، خط زیر را در فایل /etc/ssh/ssh_config اضافه یا اصلاح کنید.

ServerAliveInterval 60

 

فایل را ذخیره کرده و ببندید.

اکنون نشست SSH تا مدت زمان تعیین شده خاتمه نخواهد یافت.

 

 

منبع:

ostechnix