آموزش سرور | بلاگ وب‌داده

نصب و تنظیم VNC Server روی CentOS؛ دسترسی گرافیکی از راه دور

از نصب سرور TigerVNC تا اتصال امن با تونل SSH، گام‌به‌گام یاد می‌گیرید چطور یک محیط دسکتاپ گرافیکی روی سرور CentOS راه بیندازید.
نصب VNC روی CentOS به شما اجازه می‌دهد به‌جای کار صرفاً با خط فرمان، یک محیط دسکتاپ کامل سرور را از راه دور و با ماوس و کیبورد کنترل کنید. در این راهنما ابتدا توضیح می‌دهیم VNC چیست و چه کاربردی دارد، سپس پیش‌نیازها را مرور می‌کنیم، بعد مرحله‌به‌مرحله سرور TigerVNC را روی CentOS نصب و پیکربندی می‌کنیم، تفاوت روش نصب در CentOS Stream 9 و CentOS 7 قدیمی را در یک جدول کنار هم می‌گذاریم، و در پایان اتصال امن، عیب‌یابی خطاهای رایج و محدودیت‌ها را صادقانه بررسی می‌کنیم تا از صفر تا صد بدون گیر کردن کار را انجام دهید.
  • ابزار اصلی: TigerVNC سرور VNC متن‌باز و پرکاربرد روی خانواده CentOS و RHEL است.
  • نگاشت پورت: هر display با شماره :N به پورت 5900+N نگاشت می‌شود (مثلاً :1 روی 5901).
  • محیط گرافیکی لازم است: سرورها معمولاً بدون دسکتاپ نصب می‌شوند؛ باید GNOME یا Xfce نصب شود.
  • امنیت کلیدی: پروتکل VNC رمزگذاری‌نشده است؛ اتصال را از طریق تونل SSH برقرار کنید.
  • دو نسل CentOS: روش پیکربندی در CentOS 7 و CentOS Stream 9 با هم فرق دارد.

در یک جمله

VNC مثل یک «نمایشگر از راه دور» عمل می‌کند که تصویر دسکتاپ سرور را به کامپیوتر شما می‌آورد و ورودی ماوس و کیبورد شما را به سرور برمی‌گرداند — و برای اجرای پایدار این سرویس می‌توانید سرور لینوکس را از وب‌داده تهیه کنید.
حتماً این مقاله را باز کرده‌اید چون می‌خواهید کار با سرور CentOS را راحت‌تر و بصری‌تر کنید اما نمی‌دانید از کجا شروع کنید. در ادامه به‌جای کلی‌گویی، یک مسیر روشن و عملی با دستورهای واقعی پیش پایتان می‌گذاریم.

نصب VNC روی CentOS؛ مفهوم و کاربرد دسترسی گرافیکی

VNC مخفف Virtual Network Computing است؛ یک سیستم اشتراک دسکتاپ گرافیکی که به شما اجازه می‌دهد صفحه نمایش یک کامپیوتر دیگر را ببینید و با ماوس و کیبورد خودتان آن را کنترل کنید. در عمل، تصویر دسکتاپ سرور به کلاینت شما منتقل می‌شود و حرکت‌های ماوس و کلیدهای فشرده‌شده در جهت عکس به سرور می‌روند. همین مکانیزم ساده، مدیریت گرافیکی سرورهای بدون مانیتور را ممکن می‌کند.
روی خانواده CentOS و RHEL، رایج‌ترین پیاده‌سازی این پروتکل، TigerVNC است؛ یک سرور VNC متن‌باز، فعال و پرکارایی. نکته‌ای که باید همین ابتدا بدانید این است که هر نشست VNC روی یک «display» با شماره مشخص اجرا می‌شود و این شماره مستقیماً پورت شبکه را تعیین می‌کند: display با شماره :1 روی پورت 5901، :2 روی 5902 و به همین ترتیب (یعنی پورت برابر است با 5900 به‌علاوه شماره display).
کاربرد اصلی این کار جایی است که ابزارها یا نرم‌افزارهایی دارید که فقط رابط گرافیکی دارند، یا تیمی که با خط فرمان راحت نیست و ترجیح می‌دهد سرور را مثل یک دسکتاپ معمولی مدیریت کند. VNC سبک است و منابع کمی مصرف می‌کند، بنابراین حتی روی سرورهای با مشخصات پایین هم قابل اجراست.

تشبیه ساده

سرور بدون رابط گرافیکی مثل خانه‌ای است که فقط از سوراخ کلید (خط فرمان) می‌توانید داخلش را ببینید. VNC مثل نصب یک پنجره بزرگ روی همان خانه است: حالا کل اتاق (دسکتاپ) را می‌بینید و می‌توانید آزادانه داخلش حرکت کنید. تونل SSH هم پرده‌ای امن روی آن پنجره است تا کسی از بیرون دید نداشته باشد.
ChatGPT Image Aug 17 2026 09 21 03 AM 1 نصب VNC روی CentOS؛ راهنمای کامل 2026

چرا از VNC برای مدیریت گرافیکی سرور استفاده کنیم؟

پیش از رفتن سراغ نصب، خوب است بدانید این روش چه مزیت‌هایی نسبت به کار صرف با خط فرمان دارد و چرا روی سرورهای لینوکسی محبوب است:
  • مدیریت بصری: اجرای نرم‌افزارهای گرافیکی و کار با محیط دسکتاپ کامل، بدون نیاز به حفظ‌کردن ده‌ها دستور.
  • مصرف کم منابع: پروتکل VNC سبک است و حتی روی سرورهای کم‌مصرف هم به‌خوبی کار می‌کند.
  • پشتیبانی از چند نشست: TigerVNC به هر کاربر یک دسکتاپ مجازی مستقل با شماره display جدا می‌دهد.
  • چندسکویی بودن کلاینت: از ویندوز، مک و لینوکس با نرم‌افزارهای متنوع VNC Viewer می‌توانید وصل شوید.
  • مناسب کارهای آموزشی و پشتیبانی: تیم پشتیبانی می‌تواند مستقیماً دسکتاپ سرور را ببیند و راهنمایی کند.
اگر هنوز با نحوه ورود به سرور لینوکسی آشنا نیستید، پیشنهاد می‌کنیم ابتدا راهنمای آموزش اتصال به سرور لینوکس را مرور کنید تا مرحله بعد روان‌تر پیش برود.

آموزش گام‌به‌گام نصب و راه‌اندازی

در این بخش مسیر اصلی را روی CentOS Stream 9 (نسل فعلی و توصیه‌شده) پیش می‌رویم و در ادامه روش CentOS 7 قدیمی را هم جداگانه می‌آوریم. پیش‌نیاز اصلی، دسترسی به یک کاربر با دسترسی sudo و یک سرور با محیط دسکتاپ است. هر مرحله را تا کامل نشده رها نکنید.

مرحله ۱: نصب محیط دسکتاپ و سرور TigerVNC

ابتدا سیستم را به‌روز کنید، در صورت نبودِ رابط گرافیکی یک محیط دسکتاپ نصب کنید و سپس بسته tigervnc-server را اضافه کنید:
# CentOS Stream 9 / RHEL 9 — ابتدا سیستم را به‌روز کنید
sudo dnf update -y

# نصب محیط دسکتاپ گرافیکی (در صورت نبودِ رابط گرافیکی)
sudo dnf groupinstall "Server with GUI" -y

# نصب سرور TigerVNC
sudo dnf install tigervnc-server -y

مرحله ۲: پیکربندی سرویس و تعیین کاربر

در نسل جدید CentOS، نگاشت میان شماره display و کاربر در فایل /etc/tigervnc/vncserver.users انجام می‌شود. فایل سرویس systemd را کپی کنید، کاربر را در فایل کاربران تعریف کنید و سپس با همان کاربر عادی رمز VNC را تنظیم کنید (برای ویرایش فایل‌ها می‌توانید از ویرایشگر Nano هم استفاده کنید):
# کپی فایل سرویس systemd با شماره display دلخواه (اینجا :1)
sudo cp /usr/lib/systemd/system/vncserver@.service \
        /etc/systemd/system/vncserver@:1.service

# نگاشت display به کاربر در فایل کاربران VNC
sudo vi /etc/tigervnc/vncserver.users
# این خط را اضافه کنید (به‌جای webdade نام کاربر خود را بگذارید):
# :1=webdade

# تنظیم رمز VNC با همان کاربر عادی (نه root)؛ به پرسش view-only پاسخ n
vncpasswd
سپس یک فایل پیکربندی نشست برای کاربر بسازید تا محیط دسکتاپ و رزولوشن مشخص شود. محتوای فایل ~/.vnc/config چیزی شبیه این است:
# فایل ~/.vnc/config — محیط دسکتاپ و رزولوشن نشست
session=gnome
securitytypes=vncauth,tlsvnc
geometry=1280x720

مرحله ۳: فعال‌سازی سرویس و باز کردن پورت فایروال

حالا systemd را بازخوانی کنید، سرویس را برای display موردنظر (اینجا :1) فعال و اجرا کنید و وضعیت آن را بررسی کنید. در پایان، پورت متناظر را در فایروال باز کنید:
# بارگذاری مجدد systemd و فعال/اجرای سرویس (display :1 = پورت 5901)
sudo systemctl daemon-reload
sudo systemctl enable --now vncserver@:1.service
sudo systemctl status vncserver@:1.service

# باز کردن پورت در فایروال (پورت = 5900 + شماره display)
sudo firewall-cmd --permanent --add-port=5901/tcp
sudo firewall-cmd --reload

هشدار امنیتی مهم

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

مرحله ۴: اتصال امن از طریق تونل SSH

به‌جای اتصال مستقیم، ترافیک VNC را داخل یک تونل SSH رمزگذاری‌شده عبور دهید. این دستور را روی سیستم محلی خود اجرا کنید و سپس در VNC Viewer به localhost:5901 وصل شوید:
# اتصال امن از طریق تونل SSH (به‌جای اتصال مستقیمِ رمزگذاری‌نشده)
# این دستور را روی سیستم محلی خود (لینوکس/مک) اجرا کنید:
ssh -L 5901:127.0.0.1:5901 -N -f -l webdade SERVER_IP

# سپس در VNC Viewer به این آدرس وصل شوید:
#   localhost:5901

بررسی صحت عملکرد

اگر سرویس با موفقیت اجرا شده باشد، خروجی دستور status حالت active (running) را نشان می‌دهد و فرآیند Xvnc در حال اجراست. اگر اتصال برقرار نشد، اول وضعیت سرویس و باز بودن پورت در فایروال را بررسی کنید، بعد سراغ تنظیمات کلاینت بروید.
ChatGPT Image Aug 17 2026 09 27 30 AM 1 نصب VNC روی CentOS؛ راهنمای کامل 2026

CentOS Stream 9 یا CentOS 7؟ تفاوت روش پیکربندی

روش راه‌اندازی VNC در دو نسل CentOS یکسان نیست و کپی‌کردن مراحل یک نسخه روی نسخه دیگر باعث خطا می‌شود. جدول زیر تفاوت‌های کلیدی را کنار هم می‌گذارد:
معیارCentOS Stream 9 / RHEL 9CentOS 7 (قدیمی)
مدیر بستهdnfyum
نگاشت کاربر به displayفایل /etc/tigervnc/vncserver.usersویرایش User در فایل سرویس systemd
تعیین محیط دسکتاپsession=gnome در ~/.vnc/configexec startxfce4 در ~/.vnc/xstartup
محیط دسکتاپ رایجGNOMEXfce (سبک، از مخزن EPEL)
فایل سرویسکپی vncserver@.service + شماره displayکپی vncserver@.service + ویرایش نام کاربر
وضعیت پشتیبانینسل فعلی و فعالپایان پشتیبانی: 30 ژوئن 2024
اگر هنوز روی CentOS 7 هستید، توجه داشته باشید که این نسخه از 30 ژوئن 2024 دیگر به‌روزرسانی امنیتی دریافت نمی‌کند؛ بنابراین برای سرورهای جدید، نصب روی سرور مجازی با CentOS Stream 9 یا جایگزین‌هایی مثل Rocky Linux و AlmaLinux انتخاب امن‌تری است.

از منابع معتبر

طبق راهنمای Linuxize، «پروتکل VNC رمزگذاری‌نشده است و می‌تواند در معرض شنود بسته قرار گیرد؛ روش توصیه‌شده ساخت یک تونل SSH است که ترافیک را به‌صورت امن از سیستم محلی شما روی پورت 5901 به سرور هدایت می‌کند». منبع: Linuxize — Install and Configure VNC on CentOS 7.

روش CentOS 7 قدیمی (در صورت نیاز)

اگر هنوز سروری روی CentOS 7 دارید، مسیر کمی متفاوت است: محیط سبک Xfce از مخزن EPEL نصب می‌شود، دستور vncserver پیکربندی اولیه و رمز را می‌سازد و محیط دسکتاپ در فایل ~/.vnc/xstartup تعیین می‌شود:
# CentOS 7 (روش قدیمی) — نصب محیط سبک Xfce و TigerVNC
sudo yum install epel-release -y
sudo yum groupinstall xfce -y
sudo yum install tigervnc-server -y

# ساخت پیکربندی اولیه و رمز (بدون sudo)، سپس توقف نمونه
vncserver
vncserver -kill :1

# تعیین محیط دسکتاپ در فایل xstartup
echo "exec startxfce4" >> ~/.vnc/xstartup
پس از آن، مثل نسل جدید، یک فایل سرویس systemd از روی vncserver@.service کپی می‌کنید، نام کاربر را داخل آن ویرایش و سرویس را فعال می‌کنید. تفاوت اصلی در محل تعریف کاربر و فایل تعیین محیط دسکتاپ است.

عیب‌یابی مشکلات رایج

اگر سرویس بالا نیامد یا اتصال برقرار نشد، معمولاً یکی از این موارد دلیلش است. قبل از هر تغییر بزرگ، این فهرست را مرور کنید:
  • سرویس فعال نمی‌شود: با journalctl -u vncserver@:1 لاگ را ببینید؛ اغلب به‌خاطر نبودِ محیط دسکتاپ یا اشتباه در نام کاربر است.
  • اتصال رد می‌شود: بررسی کنید پورت متناظر display در فایروال باز باشد (پورت = 5900 + شماره display).
  • صفحه خاکستری یا خالی: معمولاً یعنی محیط دسکتاپ درست تنظیم نشده؛ مقدار session یا فایل xstartup را بازبینی کنید.
  • عدم اتصال با وجود سرویس فعال: احتمالاً به‌جای تونل SSH مستقیم وصل شده‌اید؛ مطمئن شوید تونل برقرار است و به localhost وصل می‌شوید.
  • تداخل شماره display: اگر display اشغال است، یک شماره آزاد دیگر (مثلاً :2) انتخاب و پورت آن را باز کنید.

محدودیت‌ها و نکاتی که باید بدانید

این روش کاربردی است، اما بی‌عیب نیست. شناخت محدودیت‌ها کمک می‌کند انتظار درستی داشته باشید:
  • نبودِ رمزگذاری پیش‌فرض: بدون تونل SSH یا تنظیم securitytypes، ترافیک VNC ناامن است.
  • مصرف منابع محیط دسکتاپ: نصب GNOME کامل روی سرور، رم و پردازنده بیشتری مصرف می‌کند؛ روی سرورهای کوچک Xfce سبک‌تر است.
  • تفاوت نسخه‌ها: مسیر پیکربندی CentOS 7 و Stream 9 فرق دارد و آموزش‌های قدیمی ممکن است روی نسخه جدید کار نکنند.
  • کندی روی پهنای باند پایین: چون تصویر دسکتاپ منتقل می‌شود، روی اتصال‌های کند ممکن است تجربه کاربری روان نباشد.
  • پایان پشتیبانی CentOS 7: اجرای سرویس روی سیستم‌عاملی که دیگر پچ امنیتی نمی‌گیرد، ریسک امنیتی دارد.
برای آشنایی بیشتر با اصول ایمن‌سازی، راهنمای تأمین امنیت سرور مجازی می‌تواند نقطه شروع خوبی باشد.

اجرای پایدار سرور لینوکس روی زیرساخت وب‌داده

برای اینکه سرویس VNC و دسکتاپ گرافیکی شما همیشه پایدار و در دسترس بماند، به سروری نیاز دارید که هم منابع کافی داشته باشد و هم اتصال شبکه باکیفیت. در وب‌داده، سرور مجازی لینوکس با همین هدف فراهم شده تا بتوانید CentOS یا توزیع دلخواه را نصب کنید و کنترل کامل روی محیط خود داشته باشید.
✅ زیرساخت نسل جدید HPE (Gen11 و Gen10) برای پایداری و کارایی بالای سرویس.
✅ دیتاسنترهای ایران، هلند و آلمان برای انتخاب نزدیک‌ترین لوکیشن به شما.
✅ امکان ارتقای منابع متناسب با نیاز محیط گرافیکی، بدون نیاز به مهاجرت.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک در راه‌اندازی سرور و رفع مشکلات اتصال.
می‌توانید پلن‌ها را در صفحه سرور مجازی وب‌داده ببینید و نزدیک‌ترین لوکیشن به کاربران خود را انتخاب کنید.

پرسش‌های پرتکرار درباره VNC روی CentOS

جمع‌بندی و قدم بعدی شما

دیدیم که راه‌اندازی دسترسی گرافیکی روی CentOS مسیر روشنی دارد: ابتدا محیط دسکتاپ و سرور TigerVNC را نصب می‌کنید، سپس سرویس systemd را پیکربندی و کاربر و رمز را تعیین می‌کنید، پورت متناظر را در فایروال باز می‌کنید و در نهایت برای امنیت، اتصال را از طریق تونل SSH برقرار می‌کنید. مهم‌ترین نکته هم این بود که روش پیکربندی در CentOS 7 و CentOS Stream 9 با هم فرق دارد و VNC را همیشه باید با لایه امنیتی استفاده کرد. با رعایت همین چند اصل، یک محیط مدیریتی بصری و کاربردی خواهید داشت.

جمع‌بندی سریع

✅ محیط دسکتاپ و tigervnc-server را نصب کنید.
✅ سرویس systemd را پیکربندی و کاربر/رمز را تنظیم کنید.
✅ پورت (5900 + شماره display) را در فایروال باز کنید.
✅ همیشه از طریق تونل SSH وصل شوید، نه اتصال مستقیم.
در صورتی که سوالی داشتید می‌توانید در بخش نظرات با ما در ارتباط باشید.
وب داده
وب داده

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

مقاله‌ها: 15
پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *