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

در این آموزش، چگونگی نحوه انجام این کار برای یک کاربر یا گروه خاص نسبت به منظور دسترسی به SSH شرح داده شده است.

 

فایل پیکربندی پیش فرض openSSH، دو دستورالعمل برای هر دو مورد تعیین مجوز و منع دسترسی SSH به یک کاربر یا گروه خاص داراست.

 

اجازه دسترسی SSH به یک کاربر یا گروه

در این بخش، چگونگی تعیین مجوز دسترسی SSH را برای یک کاربر خاص، به عنوان مثال "sk" خواهیم دید.

لطفاً توجه داشته باشید که تمام دستورات زیر باید به عنوان کاربر root اجرا شوند.

 

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

 

ابتدا، به سرور ریموت خود رفته و فایل sshd_config را ویرایش نمایید:

$ sudo nano /etc/ssh/sshd_config

فایل فوق باید مشابه تصویر زیر باشد:

ساختار فایل تنظیمات ssh

سپس خط زیر را اضافه کرده و یا درصورت وجود ویرایش نمایید:

AllowUsers sk

“sk” در اینجا، یک نام کاربری است، بنابراین، آن را با نام کاربری خود جایگزین کنید. همانطور که در شکل زیر قابل مشاهده است، شما می‌توانید در این دستور، بیش از یک کاربر را نیز مشخص نمایید.

AllowUsers sk ostechnix

 

به منظور تعیین مجوز برای یک گروه (به جای یک کاربر)، به‌عنوان مثال root، خط زیر را اضافه کرده و یا در صورت وجود ویرایش نمایید:

AllowGroups root

در این صورت، کسانی که در گروه “root” هستند، می‌توانند به سرور ریموت اتصال SSH برقرار کنند.

 

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

 

در هر حال، پس از تغییر، فایل پیکربندی SSH را ذخیره کرده و ببندید. سپس سرویس SSH را مجدداً راه‌اندازی نمایید تا تغییرات اعمال شوند.

$ sudo systemctl restart sshd

 

اکنون، کاربران sk ،ostechnix و تمام کاربران موجود در گروه “root”، مجاز به اتصال به سرور ریموت شما از طریق ssh هستند؛ ولیکن سایر کاربران مجاز به انجام این کار نمی‌باشند.

بنابراین، اگر سعی کنید با استفاده از هر یک از کاربران غیر مجاز در سرور ریموت، اتصال ssh بزنید، پیام خطای زیر را دریافت خواهید کرد:

Permission denied, please try again.

در ادامه چگونگی غیرقعال سازی دسترسی ssh برای یک کاربر یا گروه خاص شرح داده می‌شود.

 

جلوگیری از دسترسی SSH برای یک کاربر یا گروه

به منظور غیرفعال کردن دسترسی SSH برای هر کاربر یا گروه، باید دستورالعمل زیر را در فایل sshd_config سرور ریموت خود اضافه کرده و یا در صورت وجود ویرایش نمایید.

به منظور منع دسترسی SSH برای کاربری به نام “sk”، فایل sshd_config را به صورت زیر باز کرده:

$ sudo vi /etc/ssh/sshd_config

و خط زیر را در فایل sshd_config اضافه و یا ویرایش نمایید.

DenyUsers sk

 

این مطلب نیز ممکن است برای شما مفید باشد: رفع خطای "Permission denied (publickey) SSH" در لینوکس

 

به طور مشابه، به‌منظور منع دسترسی SSH برای چندین کاربر می‌توانید، نام‌های کاربری را با فاصله از همدیگر مطابق شکل زیر مشخص کنید.

DenyUsers sk ostechnix

به منظور منع دسترسی SSH برای یک گروه، به‌عنوان مثال root، دستور زیر را اضافه و یا ویرایش نمایید:

DenyGroups root

در هر حال، پس از تغییر، فایل پیکربندی ssh را ذخیره کرده و ببندید و در پایان، سرویس ssh را مجدداً راه‌اندازی نمایید؛ تا تغییرات اعمال شوند.

$ sudo systemctl restart sshd

 

اکنون، اگر سعی کنید، با استفاده از یکی از کاربران تعیین شده در فایل (به عنوان مثال sk) به سرور ریموت اتصال SSH بزنید،

ssh sk@192.168.1.150

پیام خطای زیر را دریافت خواهید کرد:

sk@192.168.1.150's password: 
Permission denied, please try again.
sk@192.168.1.150's password:

 

دقت کنید که از نظر امنیتی، اجازه دسترسی Root ssh، یک عملیات نادرست به حساب می‌آید. بنابراین، از همه مهم‌تر باید ورود کاربر Root را نیز غیرفعال کنید.

به منظور غیرفعال کردن ورود root ssh، ابتدا فایل sshd_config را به صورت زیر باز کرده:

$ sudo vi /etc/ssh/sshd_config

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

PermitRootLogin no

در آخر، سرویس SSH را مجدداً راه‌اندازی نمایید تا تغییرات اعمال شوند.

 

 

منبع:

ostechnix