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

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

در حين نصب از شما خواسته مي شود طرح صفحه كليد خود را از ليست گزينه هاي ممكن انتخاب كنيد. موردي را انتخاب كنيد كه براي زبان شما مناسب باشد و Enter را فشار دهيد. نصب ادامه خواهد يافت.
پس از اتمام نصب ، سرور مجازي TightVNC را نصب كنيد:
⦁ $ sudo apt install tightvncserver

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

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

Password:
Verify:
رمز عبور بايد بين شش تا هشت كاراكتر باشد. گذرواژه‌هاي بيش از 8 كاراكتر به صورت خودكار كوتاه خواهند شد.
پس از تأييد گذرواژه ، مي توانيد يك گذرواژه 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 ميگويد كه فايل .Xresource را بخواند. .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 را با نام كاربري غير ريشه و آدرس IP سرور مجازي خود جايگزين كنيد.
اگر از يك سرويس دهنده گرافيكي SSH استفاده مي كنيد ، مانند PuTTY ، از your_server_ip به عنوان IP اتصال استفاده كنيد و localhost: 5901 را به عنوان پورت جديد ارسال شده در تنظيمات تونل SSH برنامه تنظيم كنيد.
پس از راه اندازي تونل ، از يك سرويس دهنده VNC براي اتصال به localhost:5901 استفاده كنيد. از شما خواسته مي شود با استفاده از رمزعبور تنظيم شده در مرحله 1 ، تأييد اعتبار كنيد.
پس از اتصال ، دسكتاپ پيش فرض Xfce را مشاهده خواهيد كرد.

براي پيكربندي سريع دسكتاپ ، گزينه Use default config را انتخاب كنيد.
همانطور كه در اينجا مشاهده مي شود ، مي توانيد با file manager يا از خط فرمان به فايلهاي ديركتوري هوم خود دسترسي پيدا كنيد:

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

نماد @ در انتهاي نام به ما اجازه مي دهد تا آرگوماني را كه مي توانيم در پيكربندي سرويس استفاده كنيم ، وارد كنيم. آن را براي مشخص كردن پورت نمايشگر VNC كه مي خواهيم هنگام مديريت سرويس استفاده كنيم ، به كار ميگيريم.
خطوط زير را به فايل اضافه كنيد. حتماً مقدار User ، Group ، 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

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

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

1 بعد از علامت @ نشان مي دهد كه كدام شماره نمايش سرويس بايد روي آن ظاهر شود ، همانطور كه در مرحله 2 گفته شده، در اين حالت پيش فرض: 1 است.
اگر هنوز در حال اجرا است ، نمونه فعلي سرور مجازي 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; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-10-10 17:56:17 UTC; 5s ago
Process: 935 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
Process: 940 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800 :1 (code=exited, status=0/SUCCESS)
Main PID: 948 (Xtightvnc)
. . .

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

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

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

پارامترهاي پيش فرض در جاوا اسكريپت  –  اجراي چندين نسخه PHP بر روي يك سرور Debian 10

نحوه راه اندازي يك پروژه React با برنامه React – نصب و ايمن سازي phpMyAdmin در اوبونتو 18

پيكربندي يك تاييد اعتبار مجاز(CA) در CentOS 8  –  تنظيم برنامه Node.js براي توليد در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ايمن كردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنويسي URL را با mod_rewrite براي Apache در Debian 10

راه اندازي فايروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه كردن و حذف كاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازي سرور اوليه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعي ايجاد كنيم

نصب و پيكربندي VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ايمن سازي Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پيكربندي Zabbix براي رديابي ايمن سرورهاي

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پيكربندي Zabbix براي رديابي ايمن سرور

نصب وردپرس با بانك اطلاعاتي در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پايتون 3 و تنظيم نويسي محلي maغير مجاز مي باشد  – نصب و ايمن سازي phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظيم يك محيط برنامه نويسي

نحوه نصب R بر روي Debian 10  –  راه اندازي سرور Prisma روي اوبونتو 18.04

نصب و پيكربندي Laravel با LEMP در اوبونتو 18  –  نصب و پيكربندي pgAdmin 4 در Server Mode

نصب Python 3 و تنظيم برنامه نويسي CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

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

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