Virtual Network Computing يا VNC يك سيستم اتصال است كه به شما امكان مي دهد از صفحه كليد و ماوس خود براي تعامل با يك محيط دسكتاپ گرافيكي روي يك سرور مجازي از راه دور استفاده كنيد. اين امر باعث مي شود مديريت فايل ها ، نرم افزارها و تنظيمات روي يك سرور مجازي از راه دور براي كاربراني كه همچنان با خط فرمان احساس راحتي نميكنند ، آسانتر شود.
در اين راهنما ، سرور مجازي VNC را روي يك سرور مجازي اوبونتو 18.04 تنظيم كرده و از طريق يك تونل SSH با ايمني به آن وصل مي شويد. شما از TightVNC ، يك بسته كنترل از راه دور سريع و سبك استفاده مي كنيد. اين انتخاب اطمينان حاصل خواهد كرد كه اتصال VNC ما حتي در اتصالات اينترنت كندتر هموار و پايدار خواهد بود.
پيش نيازها
براي تكميل اين آموزش ، به موارد زير نياز داريد:
• يك سرور مجازي Ubuntu 18.04 كه طبق راهنماي ستاپ اوليه سرور مجازي Ubuntu 18.04 تنظيم شده باشد، شامل يك كاربر sudo غير ريشه و فايروال باشد.
• يك كامپيوتر محلي با يك كلاينت VNC نصب شده كه اتصالات VNC را از طريق تونل هاي SSH پشتيباني مي كند.
o در ويندوز ، مي توانيد از TightVNC ، RealVNC يا UltraVNC استفاده كنيد.
o در maغير مجاز مي باشد ، مي توانيد از برنامه داخلي اشتراك گذاري صفحه استفاده كنيد ، يا مي توانيد از يك برنامه cross-platform مانند RealVNC استفاده كنيد.
o در لينوكس ، مي توانيد گزينه هاي بسياري از جمله vinagre ، krdc ، RealVNC يا TightVNC را انتخاب كنيد.
مرحله 1 – نصب محيط دسكتاپ و سرور مجازي VNC
به طور پيش فرض ، يك سرور مجازي Ubuntu 18.04 با محيط دسكتاپ گرافيكي يا سرور مجازي VNC همراه نيست ، بنابراين ما با نصب آن ها كار را شروع خواهيم كرد. به طور خاص ، بسته هاي جديدترين محيط دسكتاپ Xfce و بسته TightVNC موجود در مخزن رسمي اوبونتو را نصب خواهيم كرد.
در سرور مجازي خود ليست بسته هاي خود را به روز كنيد:
⦁ $ sudo apt update

اكنون محيط دسكتاپ Xfce را روي سرور مجازي خود نصب كنيد:
⦁ $ sudo apt install xfce4 xfce4-goodies

پس از اتمام نصب ، سرور مجازي TightVNC را نصب كنيد:
⦁ $ sudo apt install tightvncserver

براي تكميل پيكربندي اوليه سرور مجازي VNC پس از نصب ، از دستور vncserver براي تنظيم گذرواژه ايمن و ايجاد فايل هاي پيكربندي اوليه استفاده كنيد:
⦁ $ vncserver

از شما خواسته مي شود يك رمز ورود را براي دسترسي از راه دور به دستگاه خود وارد كرده و تأييد كنيد:
Output
You will require a password to access your desktops.

Password:
Verify:

رمز عبور بايد بين شش تا هشت كاراكتر باشد. گذرواژه‌هاي بيش از 8 كاراكتر به صورت خودكار كوتاه خواهند شد.
پس از تأييد گذرواژه ، مي توانيد يك گذرواژه view-only ايجاد كنيد. كاربراني كه با رمز ورود view-only به سيستم وارد مي شوند ، قادر به كنترل نمونه VNC با ماوس يا صفحه كليد خود نخواهند بود. اگر مي خواهيد چيزي را با استفاده از سرور مجازي VNC خود به ديگران نشان دهيد ، اين گزينه مفيد ميباشد ، اما ضروري نيست.
سپس اين فرآيند فايلهاي پيكربندي پيش فرض لازم و اطلاعات اتصال را براي سرور مجازي ايجاد مي كند:
Output
Would you like to enter a view-only password (y/n)? n
xauth: file /home/sammy/.Xauthority does not exist

New ‘X’ desktop is your_hostname:1

Creating default startup script /home/sammy/.vnc/xstartup
Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/your_hostname:1.log

اكنون بگذاريد سرور مجازي VNC را پيكربندي كنيم.
مرحله 2 – پيكربندي سرور مجازي VNC
سرور مجازي VNC بايد بداند كه در هنگام راه اندازي چه دستوراتي را اجرا مي كند. به طور خاص ، VNC بايد بداند كه به كدام دسكتاپ گرافيكي وصل شود.
اين دستورات در يك فايل پيكربندي به نام xstartup در پوشه .vnc تحت ديركتوري هوم شما قرار دارند. اسكريپت راه اندازي هنگامي ايجاد شد كه در مرحله قبل vncserver را اجرا كرديد ، اما براي راه اندازي دسكتاپ Xfce ، اسكريپت خودمان را ايجاد خواهيم كرد.
هنگامي كه VNC براي اولين بار راه اندازي ميشود ، يك نمونه سرور مجازي پيش فرض را در پورت 5901 راه اندازي مي كند. اين پورت به عنوان پورت نمايشگر ناميده مي شود و توسط VNC به صورت :1 ارجاع داده مي شود. VNC مي تواند چندين نمونه در پورت هاي نمايشگر ديگر مانند: 2 ،: 3 و غيره راه اندازي كند.
از آنجا كه مي خواهيم نحوه پيكربندي سرور مجازي VNC را تغيير دهيم ، ابتدا نمونه سرور مجازي VNC را كه با استفاده از پورت 5901 در حال اجرا است با دستور زير متوقف كنيد:
⦁ $ vncserver -kill :1

خروجي بايد به اين شكل باشد ، اگرچه يك PID متفاوت را مشاهده خواهيد كرد:
Output
Killing Xtightvnc process ID 17648
قبل از تغيير فايل xstartup ، از نسخه اصلي نسخه پشتيبان تهيه كنيد:
⦁ $ mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

اكنون يك فايل xstartup جديد ايجاد كرده و آن را در ويرايشگر متن خود باز كنيد:
⦁ $ nano ~/.vnc/xstartup

هر زمان كه سرور مجازي VNC را شروع يا ريستارت ميكنيد، دستورات موجود در اين فايل بطور خودكار اجرا ميشوند. براي شروع محيط دسكتاپ خود در صورتي كه از قبل شروع نشده است ، به VNC احتياج داريم. اين دستورات را به فايل اضافه كنيد:
~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

اولين دستورالعمل موجود در فايل ، xrdb $ HOME / .Xresource ، به چارچوب رابط كاربري گرافيكي VNC ميگويد فايل .Xresources كاربر سرور مجازي را بخواند. Xresource جايي است كه يك كاربر مي تواند تنظيمات خاصي از دسكتاپ گرافيكي ، مانند رنگ هاي ترمينال ، تم هاي مكان نما و رندر فونت ، تغييراتي ايجاد كند. دستور دوم به سرور مجازي مي گويد كه Xfce را راه اندازي كند ، در اين قسمت تمام نرم افزارهاي گرافيكي مورد نياز خود را براي مديريت راحت سرور مجازي خود پيدا خواهيد كرد.
براي اطمينان از اينكه سرور مجازي VNC قادر به استفاده صحيح از اين فايل راه اندازي جديد خواهد بود ، بايد آن را عملياتي كنيم.
⦁ $ sudo chmod +x ~/.vnc/xstartup

اكنون ، سرور مجازي VNC را رستارت كنيد.
⦁ $ vncserver

خروجي مشابه اين را مشاهده خواهيد كرد:
Output
New ‘X’ desktop is your_hostname:1

Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/your_hostname:1.log

با پيكربندي موجود ، بياييد از دستگاه محلي خود به سرور مجازي وصل شويم.
مرحله 3 – اتصال ايمن به دسكتاپ VNC
VNC در هنگام اتصال از پروتكل هاي ايمن استفاده نمي كند. ما براي اتصال ايمن به سرور مجازي خود از يك تونل SSH استفاده خواهيم كرد و سپس به كلاينت VNC مي گوييم به جاي برقراري ارتباط مستقيم از آن تونل استفاده كند.
يك اتصال SSH را روي رايانه محلي خود ايجاد كنيد كه به طور ايمن به اتصال محلي براي VNC منتقل شود. شما مي توانيد اين كار را از طريق ترمينال در لينوكس يا maغير مجاز مي باشد با دستور زير انجام دهيد:
⦁ ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

سوئيچ -L اتصالات پورت را مشخص مي كند. در اين حالت ما پورت 5901 اتصال از راه دور را به پورت 5901 در دستگاه محلي شما وصل مي كنيم. سوئيچ -C فشرده سازي را قادر مي سازد ، در حالي كه سوئيچ -N به ssh مي گويد كه ما نمي خواهيم يك دستور از راه دور را اجرا كنيم. سوئيچ -l نام ورود از راه دور را مشخص مي كند.
به ياد داشته باشيد كه sammy و your_server_ip را با نام كاربري sudo غير ريشه و آدرس IP سرور مجازي خود جايگزين كنيد.
اگر از يك سرويس دهنده گرافيكي SSH استفاده مي كنيد ، مانند PuTTY ، از your_server_ip به عنوان IP اتصال استفاده كنيد و localhost: 5901 را به عنوان پورت جديد ارسال شده در تنظيمات تونل SSH برنامه تنظيم كنيد.
پس از راه اندازي تونل ، از يك سرويس دهنده VNC براي اتصال به localhost:5901 استفاده كنيد. از شما خواسته مي شود با استفاده از رمزعبور تنظيم شده در مرحله 1 ، تأييد اعتبار كنيد.
پس از اتصال ، ميزكار پيش فرض Xfce را مشاهده خواهيد كرد. بايد چيزي شبيه به اين باشد:

همانطور كه در اينجا مشاهده مي شود ، مي توانيد به فايلها در ديركتوري هوم خود با مدير فايل يا از خط فرمان دسترسي پيدا كنيد:

CTRL + C را در ترمينال خود فشار دهيد تا تونل SSH را متوقف كرده و به اعلان خود بازگرديد. اين كار بخش VNC شما را نيز قطع مي كند.
بگذاريد سرور مجازي VNC ما به عنوان سرويس تنظيم شود.
مرحله 4 – اجراي VNC به عنوان يك سرويس سيستم
در مرحله بعدي ، سرور مجازي VNC را به عنوان يك سرويس سيستمي تنظيم خواهيم كرد تا بتوانيم مانند هر سرويس ديگر ، آن را بنا به نياز ، راه اندازي ، متوقف و مجدداً راه اندازي كنيم. اين كار همچنين راه اندازي VNC در حين ريبوت سرور مجازي را تضمين مي كند.
ابتدا با استفاده از ويرايشگر متن مورد علاقه خود ، يك فايل واحد جديد با نام /etc/systemd/system/vncserver@.service ايجاد كنيد:
⦁ $ sudo nano /etc/systemd/system/vncserver@.service

نماد @ در انتهاي نام به ما اجازه مي دهد تا آرگوماني را كه مي توانيم در پيكربندي سرويس استفاده كنيم ، وارد كنيم. از آن براي مشخص كردن پورت نمايشگر VNC استفاده خواهيم كرد كه مي خواهيم هنگام مديريت سرويس استفاده كنيم .
خطوط زير را به فايل اضافه كنيد. حتماً مقدار كاربر ، گروه ، WorkingDirectory و نام كاربري را در مقدار PIDFILE تغيير دهيد تا با نام كاربري شما مطابقت داشته باشد:
/etc/systemd/system/vncserver@.service
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=sammy
Group=sammy
WorkingDirectory=/home/sammy

PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

فرمان ExecStartPre اگر قبلاً در حال اجرا باشد VNC را متوقف مي كند. دستور ExecStart ، VNC را شروع مي كند و عمق رنگ را به رنگ 24 بيتي با رزولوشن 1280×800 تنظيم مي كند. مي توانيد بنا به نيازهاي خود اين گزينه هاي راه اندازي را تغيير دهيد.
فايل را ذخيره كنيد و ببنديد.
سپس ، سيستم را از وجود فايل واحد جديد آگاه كنيد.
⦁ $ sudo systemctl daemon-reload

فايل واحد را فعال كنيد.
⦁ $ sudo systemctl enable vncserver@1.service

1 بعد از علامت @ نشان مي دهد كه كدام شماره نمايش سرويس بايد روي آن ظاهر شود ، در اين حالت پيش فرض : 1 است، همانطور كه در مرحله 2 بحث شد.
اگر هنوز نمونه فعلي سرور مجازي VNC در حال اجرا است آن را متوقف كنيد.
⦁ $ vncserver -kill :1

سپس آن را شروع كنيد همانطور كه هر سرويس سيستمي ديگري را شروع مي كنيد.
⦁ $ sudo systemctl start vncserver@1

با اين دستور مي توانيد تأييد كنيد كه شروع شده است:
⦁ $ sudo systemctl status vncserver@1

اگر به درستي شروع شود ، خروجي بايد به اين شكل باشد:
Output
● vncserver@1.service – Start TightVNC server at startup
Loaded: loaded (/etc/systemd/system/vncserver@.service; indirect; vendor preset: enabled)
Active: active (running) since Mon 2018-07-09 18:13:53 UTC; 2min 14s ago
Process: 22322 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800 :1 (code=exited, status=0/SUCCESS)
Process: 22316 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=0/SUCCESS)
Main PID: 22330 (Xtightvnc)

سرور مجازي VNC شما هنگام ريبوت دستگاه ، اكنون در دسترس خواهد بود.
دوباره تونل SSH خود را شروع كنيد:
⦁ $ ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

سپس با استفاده از نرم افزار كلاينت VNC خود به localhost: 5901 اتصال جديدي برقرار كنيد تا به دستگاه خود متصل شويد.
نتيجه
اكنون يك سرور مجازي VNC امن در سرور مجازي Ubuntu 18.04 خود فعال و راه اندازي كرده ايد. در حال حاضر مي توانيد فايلها ، نرم افزارها و تنظيمات خود را با يك رابط گرافيكي آسان و كاربردي مديريت كنيد و قادر خواهيد بود نرم افزارهاي گرافيكي مانند مرورگرهاي وب را از راه دور اجرا كنيد.

 

از اين لينك ها زير مي توانيد آمورش هاي بيشتري براي لينوكس پيدا كنيد :

نصب و پيكربندي Ansible در اوبونتو 18.04 – نصب MySQL در اوبونتو 18.04

نظارت بر سلامت سرور با Checkmk در اوبونتو – اجراي چند نسخه PHP بر روي يك سرور

نصب Nginx، MySQL، PHP در CentOS 7 –  نصب و پيكربندي Elasticsearch در اوبونتو 18.04

راه اندازي سرور اوليه با اوبونتو 20.04 – تنظيم كليدهاي SSH در Ubuntu 20.04

نصب و استفاده از PostgreSQL در اوبونتو 20.0 – نحوه نصب MySQL در اوبونتو 20.04

نصب Python 3 روي سرور Ubuntu 18.04 –  نحوه نصب Python 3 روي سرور Ubuntu 20.04

نصب Linux،Apache،MySQL،PHP LAMP در اوبونتو 20.04 –  نصب وب سرور Apache در CentOS 8

نحوه نصب Drupal با Docker Compose –  نحوه نصب Nginx در اوبونتو 20.04

7 مورد از اقدامات امنيتي براي محافظت از سرورهاي شما –  نحوه نصب و ايمن سازي Redis در اوبونتو 20.04

نحوه نصب و ايمن سازي Redis در اوبونتو 18.04 – اضافه كردن فضاي Swap در اوبونتو 20.04

چگونه مي توان فايروال را با UFW در اوبونتو 20.04 تنظيم كرد – نظارت بر اطلاعيه و مسير BGP با BGPalerter اوبونتو 18.04

نصب و ايمن سازي phpMyAdmin در اوبونتو 20.04  –  نصب و استفاده از Composer در اوبونتو 20.04

ريست كردن رمز ورود ريشه MySQL يا MariaDB –  استفاده از نوع داده MySQL BLOB براي ذخيره تصاوير

نصب Nginx در اوبونتو 18.04 – نصب توزيع Anaconda پايتون در اوبونتو 20.04

نحوه نصب جاوا با Apt در اوبونتو 18.04 –  نحوه نصب Django و تنظيم محيط توسعه در اوبونتو 16.04

نصب جنگو و تنظيم محيط توسعه در اوبونتو 20.04 – نحوه ايجاد سرور Minecraft در اوبونتو 18.04

نحوه راه اندازي يك پروژه Node با Typescript –  نحوه نصب و پيكربندي VNC در اوبونتو 18.04

ايجاد يك برنامه Django و اتصال آن به يك بانك اطلاعاتي – نصب و پيكربندي VNC در اوبونتو 20.04

نصب MariaDB در اوبونتو 20.04  –  فعال سازي و اتصال رابط كاربري Django

تنظيم پلتفرم Cloud IDE كد سرور را در اوبونتو 18.04 – پيكربندي Apache HTTP با رويداد MPM و PHP-FPM

 

 

كلمات كليدي خريد سرور

خريد vps – خريد سرور مجازي – خريد سرور – سرور هلند – فروش vps – سرور مجازي آمريكا – خريدvps – سرور مجازي هلند – فروش سرور مجازي – سرور آمريكا – vps – سرور مجازي انگليس – سرور مجازي آلمان – سرور مجازي كانادا – خريد vps آمريكا – خريد وي پي اس – سرور – خريد سرور مجازي هلند – vps خريد – سرور مجازي فرانسه – سرور مجازي هلند – خريد vps آمريكا – خريد سرور مجازي ارزان هلند – vps – خريد vps هلند – خريد سرور مجازي آمريكا – خريد vps فرانسه – تست vps – سرور مجازي تست – سرور مجازي ويندوز – ارزانترين vps – خريد وي پي اس – vps ارزان –