دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
امنیت
  • Folder icon closed Folder open iconCIA Triad چیست؟ آشنایی با سه اصل اساسی امنیت اطلاعات
  • Folder icon closed Folder open iconAttack Surface چیست؟ آشنایی با سطح حمله در امنیت سایبری
  • Folder icon closed Folder open iconThreat چیست؟ آشنایی با مفهوم تهدید در امنیت سایبری
  • Folder icon closed Folder open iconVulnerability چیست؟ آشنایی با آسیب‌پذیری در امنیت سایبری
  • Folder icon closed Folder open iconExploit چیست؟ آشنایی با مفهوم اکسپلویت در امنیت سایبری
  • Folder icon closed Folder open iconRisk چیست؟ آشنایی با مفهوم ریسک در امنیت سایبری
  • Folder icon closed Folder open iconCVE چیست؟ آشنایی با سیستم شماره‌گذاری آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconCVSS چیست؟ آشنایی با سیستم امتیازدهی آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconبعد از خرید سرور مجازی لینوکس(VPS)، اولین کارهایی که باید انجام دهید
  • Folder icon closed Folder open iconآموزش تغییر Hostname سرور در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح Timezone و NTP در لینوکس
  • Folder icon closed Folder open iconآموزش بروزرسانی کامل سیستم‌عامل لینوکس همه توزیع ها
  • Folder icon closed Folder open iconآموزش ساخت کاربر جدید و حذف استفاده روزمره از Root در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح sudo در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم Banner ورود به SSH در لینوکس
  • Folder icon closed Folder open iconآموزش مدیریت Password Policy در لینوکس
  • Folder icon closed Folder open iconآموزش نصب و راه‌اندازی SSH Key Authentication در لینوکس
  • Folder icon closed Folder open iconآموزش غیرفعال کردن ورود مستقیم Root از طریق SSH
  • Folder icon closed Folder open iconتغییر پورت SSH؛ آیا واقعاً امنیت سرور را افزایش می‌دهد؟
  • Folder icon closed Folder open iconآموزش محدود کردن کاربران مجاز SSH در لینوکس
  • Folder icon closed Folder open iconآموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم LoginGraceTime در SSH؛ کاهش زمان انتظار برای احراز هویت
  • Folder icon closed Folder open iconآموزش تنظیم MaxAuthTries در SSH؛ محدود کردن تعداد تلاش‌های ورود ناموفق
  • Folder icon closed Folder open iconآموزش بررسی لاگ‌های SSH در لینوکس
  • Folder icon closed Folder open iconآموزش عیب‌یابی مشکلات SSH در لینوکس
  • Folder icon closed Folder open iconآموزش کامل UFW در لینوکس؛ راه‌اندازی، مدیریت و ایمن‌سازی فایروال سرور
  • Folder icon closed Folder open iconnftables چیست؟ آشنایی با فایروال نسل جدید لینوکس و جایگزین iptables
  • Folder icon closed Folder open iconآموزش کامل Firewalld در لینوکس
  • Folder icon closed Folder open iconآموزش کامل ConfigServer Security & Firewall (CSF)
  • Folder icon closed Folder open iconآموزش مشاهده Loginهای اخیر در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی پردازش‌های مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی Cron Jobهای مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش کامل Fail2Ban در لینوکس؛ نصب و راه‌اندازی
  • Folder icon closed Folder open iconآموزش نصب RKHunter در لینوکس
  • Folder icon closed Folder open iconآموزش نصب Chkrootkit در لینوکس
  • Folder icon closed Folder open iconآموزش اسکن سرور با RKHunter و Chkrootkit
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و اسکن سرور با AIDE در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و استفاده از Auditd در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، اسکن و تحلیل امنیت سرور با Lynis در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، بروزرسانی و اسکن سرور با ClamAV در لینوکس
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Nginx
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Apache
  • Folder icon closed Folder open iconآموزش Hardening PHP
  • Folder icon closed Folder open iconآموزش Hardening پایگاه داده MySQL
  • Folder icon closed Folder open iconآموزش Hardening سرویس Redis
  • Folder icon closed Folder open iconآموزش Hardening سرویس Docker
  • Folder icon closed Folder open iconآموزش Hardening سرویس FTP
امنیت

آموزش محدود کردن کاربران مجاز SSH در لینوکس

آموزش محدود کردن کاربران مجاز SSH در لینوکس

مقدمه

به‌صورت پیش‌فرض، اگر یک کاربر محلی روی سرور لینوکسی وجود داشته باشد و مجوز ورود (Login Shell) نیز برای او فعال باشد، معمولاً می‌تواند از طریق SSH به سرور متصل شود.

در بسیاری از سرورها این رفتار مشکلی ایجاد نمی‌کند، اما در محیط‌های عملیاتی (Production)، معمولاً تنها تعداد محدودی از کاربران باید اجازه ورود از طریق SSH را داشته باشند.

به همین دلیل، یکی از اقدامات مهم در سخت‌سازی (Hardening) سرویس SSH، محدود کردن کاربران یا گروه‌های مجاز برای ورود است.

در این مقاله با روش‌های مختلف محدود کردن دسترسی کاربران به SSH و نحوه پیاده‌سازی آن آشنا خواهیم شد.


چرا باید ورود کاربران را محدود کنیم؟

فرض کنید روی یک سرور کاربران زیر وجود دارند:

  • maraladmin
  • developer
  • backup
  • nginx
  • mysql
  • postgres
  • ftpuser

آیا همه این کاربران باید بتوانند از طریق SSH وارد شوند؟

قطعاً خیر.

در بسیاری از سرورها فقط مدیران سیستم نیاز به دسترسی SSH دارند.

هر کاربر اضافی که امکان ورود داشته باشد، سطح حمله (Attack Surface) را افزایش می‌دهد.


روش‌های محدود کردن کاربران

OpenSSH چندین روش برای کنترل دسترسی کاربران دارد.

مهم‌ترین آن‌ها عبارت‌اند از:

  • AllowUsers
  • DenyUsers
  • AllowGroups
  • DenyGroups

در بیشتر سناریوها، استفاده از AllowUsers یا AllowGroups توصیه می‌شود.

آموزش محدود کردن کاربران مجاز SSH در لینوکس

فایل تنظیمات SSH

تمام تنظیمات در فایل زیر قرار دارد:

/etc/ssh/sshd_config

برای ویرایش:

sudo nano /etc/ssh/sshd_config

استفاده از AllowUsers

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

نمونه:

AllowUsers maraladmin

در این حالت فقط کاربر maraladmin اجازه ورود خواهد داشت.


چند کاربر مجاز

اگر چند مدیر سیستم دارید:

AllowUsers maraladmin admin developer

فقط همین کاربران قادر به ورود خواهند بود.


استفاده از AllowGroups

در محیط‌های سازمانی، معمولاً مدیریت گروه‌ها ساده‌تر از مدیریت تک‌تک کاربران است.

ابتدا یک گروه ایجاد کنید.

sudo groupadd sshusers

کاربران مجاز را عضو آن کنید.

sudo usermod -aG sshusers maraladmin
sudo usermod -aG sshusers admin

سپس در فایل تنظیمات SSH بنویسید:

AllowGroups sshusers

اکنون فقط اعضای این گروه اجازه ورود خواهند داشت.


تفاوت AllowUsers و AllowGroups

AllowUsersAllowGroups
کنترل بر اساس نام کاربرکنترل بر اساس گروه
مناسب سرورهای کوچکمناسب سازمان‌ها و تیم‌ها
نیاز به ویرایش فایل با اضافه شدن هر کاربرفقط کافی است کاربر عضو گروه شود

در محیط‌های حرفه‌ای، معمولاً استفاده از AllowGroups انعطاف‌پذیرتر است.


DenyUsers

اگر بخواهید فقط چند کاربر خاص اجازه ورود نداشته باشند:

DenyUsers ftpuser backup

DenyGroups

همچنین می‌توانید کل یک گروه را از ورود منع کنید.

DenyGroups guests

ترتیب پردازش قوانین

OpenSSH این قوانین را به ترتیب مشخصی بررسی می‌کند.

به همین دلیل، بهتر است از ترکیب پیچیده Allow و Deny خودداری کنید.

در بیشتر سرورها، یکی از دو روش زیر کافی است:

  • AllowUsers
  • AllowGroups

بررسی کاربران دارای Login Shell

قبل از اعمال محدودیت، بهتر است کاربران دارای Login Shell را بررسی کنید.

cat /etc/passwd

کاربرانی که Shell آن‌ها چیزی مانند زیر است:

/bin/bash

یا

/bin/sh

معمولاً امکان ورود دارند.

در مقابل، کاربران سیستمی معمولاً از Shellهایی مانند موارد زیر استفاده می‌کنند:

/usr/sbin/nologin

یا

/bin/false

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


بررسی صحت تنظیمات

قبل از اعمال تغییرات:

sudo sshd -t

اگر خروجی نمایش داده نشود، یعنی فایل تنظیمات صحیح است.


راه‌اندازی مجدد SSH

در Ubuntu و Debian:

sudo systemctl restart ssh

در AlmaLinux و Rocky Linux:

sudo systemctl restart sshd

تست تنظیمات

قبل از بستن نشست فعلی، حتماً یک اتصال جدید آزمایش کنید.

ابتدا با یکی از کاربران مجاز وارد شوید.

اگر اتصال برقرار شد، سپس با یک کاربر غیرمجاز تست کنید.

کاربر غیرمجاز باید با پیغام مشابه زیر مواجه شود:

Permission denied

اگر دسترسی خود را از دست دادیم

اگر نام کاربر خود را در AllowUsers فراموش کنید یا عضو گروه مجاز نباشید، دیگر امکان ورود از طریق SSH را نخواهید داشت.

در این شرایط باید از یکی از روش‌های زیر استفاده کنید:

  • کنسول VPS
  • KVM
  • Rescue Mode

به همین دلیل، همیشه قبل از بستن نشست فعلی، تنظیمات را آزمایش کنید.


ارتباط با سایر تنظیمات امنیتی

محدود کردن کاربران SSH زمانی بیشترین اثربخشی را دارد که همراه با اقدامات زیر انجام شود:

  • SSH Key Authentication
  • غیرفعال کردن Root Login
  • غیرفعال کردن Password Authentication
  • تغییر پورت SSH (در صورت نیاز)
  • Fail2Ban
  • محدود کردن دسترسی بر اساس IP

اشتباهات رایج

برخی از خطاهای متداول عبارت‌اند از:

  • فراموش کردن افزودن مدیر سیستم به AllowUsers
  • حذف ناخواسته دسترسی خود
  • استفاده هم‌زمان از AllowUsers و DenyUsers بدون برنامه
  • راه‌اندازی مجدد SSH بدون بررسی فایل تنظیمات
  • بستن نشست فعلی قبل از تست اتصال جدید

بهترین روش‌ها

برای افزایش امنیت:

  • فقط مدیران سیستم را مجاز به ورود کنید.
  • کاربران سیستمی را از SSH دور نگه دارید.
  • در سازمان‌ها از AllowGroups استفاده کنید.
  • برای هر مدیر سیستم حساب کاربری جداگانه ایجاد کنید.
  • دسترسی کاربران را به‌صورت دوره‌ای بازبینی کنید.

چک‌لیست

پس از محدود کردن کاربران SSH، موارد زیر را بررسی کنید:

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

جمع‌بندی

محدود کردن کاربران مجاز SSH یکی از ساده‌ترین و در عین حال مؤثرترین روش‌های کاهش سطح حمله سرور است. هرچه تعداد حساب‌هایی که امکان ورود از طریق SSH دارند کمتر باشد، احتمال سوءاستفاده از حساب‌های کاربری نیز کاهش پیدا می‌کند.

در محیط‌های کوچک، استفاده از AllowUsers معمولاً کافی است؛ اما در زیرساخت‌های سازمانی، مدیریت دسترسی از طریق AllowGroups انعطاف‌پذیرتر و ساده‌تر خواهد بود. این تنظیم را در کنار SSH Key Authentication، غیرفعال کردن Root Login و Fail2Ban پیاده‌سازی کنید تا امنیت سرویس SSH به شکل قابل توجهی افزایش یابد.

کیان پور

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

مطالب اخیراً بازدیدشده

  • آموزش تنظیم MaxAuthTries در SSH؛ محدود کردن تعداد تلاش‌های ورود ناموفق
  • آموزش نصب Nextcloud با Docker Compose
  • عیب‌یابی تفاوت نتیجه DNS بین سرور و کامپیوتر شخصی
  • مشاهده بیشتر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش محدود کردن کاربران مجاز SSH در لینوکس

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

آگوست 2026
شیدسچپج
1234567
891011121314
15161718192021
22232425262728
293031 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام