اَبرِ دیجیتال، مرکز تخصصی ارائه سرویس های ابری، سرور مجازی/اختصاصی، هاست و دامنه

اَبرِ دیجیتال، مرکز تخصصی ارائه سرویس های ابری

دریافت مشاوره رایگان

آموزش انواع روش های وصل شدن به سرور مجازی ؟

مقدمه

 

– تعریف VPS vs Dedicated: VPS با مجازی‌سازی منابع روی یک سرور فیزیکی اجرا می‌شود؛ هر VPS فضای جدا، هسته پردازش، رم و دیسک اختصاصی منطقی دارد. Dedicated سرور کاملاً فیزیکی و اختصاصی است.

– کاربردها: میزبانی وب، دیتابیس، CI/CD runners، بازی‌سرور، تست و توسعه، VPN.

– مزایا: هزینه کمتر نسبت به اختصاصی، مقیاس‌پذیری، دسترسی کامل به سطح root/Administrator.

– محدودیت‌ها: منابع فیزیکی مشترک (noisy neighbor)، ممکن است محدودیت I/O یا شبکه وجود داشته باشد.

– پیش‌نیازها برای اتصال: آدرس IP عمومی یا hostname، نام کاربری (root/Administrator یا کاربر دلخواه)، روش احراز هویت (رمز عبور یا کلید خصوصی)، پورت‌های باز در فایروال.

 

 

 

روش‌های اصلی اتصال — مقایسه و انتخاب

 

 

  – SSH — مدیریت سطح سیستم، نصب نرم‌افزار، اسکریپت‌زدن، پشتیبان‌گیری؛ کم‌مصرف پهنای باند؛ امن با کلید.

  – RDP — نیاز به سرور ویندوز یا دسکتاپ کامل؛ مناسب برنامه‌های GUI و نرم‌افزارهای ویندوزی.

  – VNC/X2Go/xRDP/Xpra — وقتی در سرور لینوکس دسکتاپ گرافیکی می‌خواهید؛ X2Go برای کارایی و فشرده‌سازی بهتر؛ VNC برای سازگاری عمومی؛ xRDP برای استفاده از کلاینت RDP با لینوکس.

  – noVNC/Web Console — دسترسی از مرورگر؛ کاربردی برای بازیابی یا وقتی کلاینت نصب نیست.

  – ابزارهای تجاری — TeamViewer/AnyDesk برای جلسات دسکتاپ با NAT traversal آسان و ویژگی‌های اشتراک‌گذاری فایل/چت.

– جدول مقایسه (ویژگی‌ها: پهنای باند، تاخیر، امنیت پیش‌فرض، پیچیدگی پیکربندی):

  – (شما می‌توانید این جدول در Markdown/HTML اضافه کنید — اگر خواستید می‌سازم)

 

 

 

 

RDP — اتصال به ویندوز VPS (جزئیات کامل)

 

– پروتکل: RDP (پورت TCP/UDP 3389)، کانال‌های مجزا برای صدا، کلیپ‌بورد، انتقال فایل، چاپگر و درایوها.

– امنیت پیش‌فرض: رمزنگاری TLS، اما باید مراقب brute-force و اکسپلویت‌های ویندوز باشید.

– مراحل دقیق از ویندوز:

باز کردن Remote Desktop Connection (mstsc.exe).

Show Options → General → Computer: VPS_IP, Username: Administrator.

تب Display/Local Resources/Experience → تنظیم کیفیت، Redirect local drives/printers/clipboard.

Save As… برای پروفایل.

Connect → اگر گواهی تغییر کرده باشد Confirm certificate.

– پیکربندی سرور ویندوز (نکات عملی):

  – فعال کردن RDP: System Properties → Remote → Allow remote connections.

  – محدود کردن کاربران: Only specific users (Add Administrator or other users).

  – تغییر پورت RDP (اجتناب از اسکن خودکار):

    – رجیستری: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber (تبدیل به DWORD و مقدار مورد نظر).

    – بعد از تغییر، فایروال ویندوز را آپدیت کنید و راه اندازی مجدد انجام دهید.

  – فعال کردن Network Level Authentication (NLA).

  – نصب hotfixها و ویندوز آپدیت.

– فایروال و دسترسی:

  – بهتر است RDP را فقط از IPهای مشخص یا از طریق VPN اجازه دهید.

  – UFW/iptables معادل برای سرور لینوکس که xRDP سرویس می‌دهد.

– توصیه‌های عملی:

  – استفاده از سیاست رمز عبور قوی و 2FA با RDP Gateway یا Azure AD در محیط‌های ترکیبی.

  – مانیتور لاگ‌ها و استفاده از fail2ban-like برای RDP (RDP-aware guards).

 

 

اتصال RDP از لینوکس (Remmina, rdesktop, FreeRDP)

 

– ابزارها:

  – Remmina — GUI، پشتیبانی از RDP, VNC, SSH, SFTP.

  – FreeRDP / xfreerdp — کلاینت خط فرمان قدرتمند: xfreerdp /u:User /p:Pass /v:IP:PORT

  – rdesktop — قدیمی‌تر اما ساده.

– نمونه xfreerdp:

  – نصب:

    sudo apt install freerdp2-x11

 

  – اتصال:

    xfreerdp /u:Administrator /p:'YourPass' /v:203.0.113.45:3389 /cert-ignore /sound:sys:alsa /drive:share,/home/user/share

 

– Remmina — تنظیمات:

  – Protocol: RDP

  – Security: Negotiate / TLS

  – Performance: Enable bitmap caching, disable wallpaper, set quality.

– نکات: اگر از xRDP در لینوکس استفاده می‌کنید، گاهی نیاز به پیکربندی session types (Xfce, Xorg) است.

 

 

 

SSH — جزئیات فنی، پیکربندی و امنیت

 

– پروتکل: SSH (RFC 4251 خانواده)، رمزنگاری متقارن و نامتقارن، تبادل کلید Diffie–Hellman/ECDH، الگوریتم‌های MAC.

– فایل‌ها و مسیرها:

  – کلاینت: ~/.ssh/

    – id_rsa (private), id_rsa.pub (public) یا id_ed25519/ed25519.pub

  – سرور: /etc/ssh/sshd_config (پیکربندی سرویس sshd)

– تنظیمات مهم sshd_config (پیشنهادات):

  – Port 22 → تغییر به پورتی غیرمتعارف (مثلاً 2222) برای کاهش اسکن سطحی.

  – PermitRootLogin no → جلوگیری از ورود مستقیم root (به جای آن حساب sudo user بسازید).

  – PasswordAuthentication no → فقط کلیدها مجاز باشند (بعد از آپلود کلید).

  – PubkeyAuthentication yes

  – AllowUsers youruser anotheruser@IP

  – UsePAM yes/no (با دقت)

  – MaxAuthTries 3

  – ClientAliveInterval 300, ClientAliveCountMax 2 (برای قطع نشست‌های بلااستفاده)

– ایجاد کاربر غیر-root و تنظیم sudo:

  – adduser deploy

  – usermod -aG sudo deploy

– ساخت جفت کلید در کلاینت:

  – ssh-keygen -t ed25519 -C “your-email”

  – public → ~/.ssh/id_ed25519.pub

– نصب کلید عمومی روی سرور:

  – mkdir -p ~/.ssh && chmod 700 ~/.ssh

  – echo “ssh-ed25519 AAAA… user@host” >> ~/.ssh/authorized_keys

  – chmod 600 ~/.ssh/authorized_keys

– استفاده از ssh-agent و forward-agent:

  – eval “$(ssh-agent -s)”

  – ssh-add ~/.ssh/id_ed25519

  – در ssh config (~/.ssh/config) می‌توانید host-specific تنظیم کنید:

    Host my-vps

      HostName 203.0.113.45

      User deploy

      IdentityFile ~/.ssh/id_ed25519

      Port 2222

– سخت‌سازی بیشتر:

  – disable SSH v1، محدود کردن الگوریتم‌ها، استفاده از AllowUsers/AllowGroups، نصب fail2ban.

  – Sudo timeout و auditing با auditd.

– مثال‌ها:

  – اتصال با پرچم‌ها: ssh -i ~/.ssh/mykey.pem -p 2222 deploy@203.0.113.45

  – Tunneled port forwarding (local): ssh -L 8080:localhost:80 -N -f deploy@203.0.113.45

  – Remote forwarding: ssh -R 9000:localhost:3000 deploy@203.0.113.45

 

 

 

 

 

PuTTY و اتصال از ویندوز — جزئیات کامل

 

– دانلود و نصب از صفحه رسمی.

– تبدیل PEM -> PPK:

  – باز کردن PuTTYgen → Load -> انتخاب PEM (All files) -> Save private key (بدون پاس‌فرز به‌دلخواه یا با).

– تنظیمات امنیتی در PuTTY:

  – Connection → Data → Auto-login username

  – Connection → SSH → Auth → Private key file for authentication

  – Session → Saved Sessions → Save

– استفاده از Pageant (SSH agent ویندوزی) برای مدیریت کلیدها.

– رفع اشکال متداول: Timeout, Connection refused (فایروال/پورت)، Server unexpectedly closed network connection (محدودیت منابع / تنظیمات sshd).

 

 

دسترسی گرافیکی به لینوکس — جزئیات کامل برای هر راه‌حل

 

A) xRDP

– مزایا: استفاده از Remote Desktop Client استاندارد (mstsc)؛ مناسب برای دسکتاپ‌های ساده.

– مثال نصب (Ubuntu 22.04 + Xfce):

sudo apt update && sudo apt install xfce4 xfce4-goodies xrdp
echo "startxfce4" > ~/.xsession
sudo systemctl enable --now xrdp
sudo adduser xrdp ssl-cert

 

تنظیم فایروال: sudo ufw allow 3389/tcp (در صورت نیاز)

– مشکلات متداول: session conflict, desktop environment not loading → بررسی /var/log/xrdp-sesman.log

– امنیت: محدود کردن پورت، استفاده از NLA/VPN، یا قرار دادن xrdp پشت SSH tunnel.

 

B) VNC (TigerVNC example)

– نصب و پیکربندی (Ubuntu):

sudo apt install xfce4 xfce4-goodies tigervnc-standalone-server
vncpasswd (برای کاربر)
vncserver :1 -geometry 1920x1080 -depth 24

 

ایجاد systemd unit برای اجرای خودکار:

  /etc/systemd/system/vncserver@.service با مقادیر User=، ExecStart=/usr/bin/vncserver %i
  systemctl daemon-reload && systemctl enable --now vncserver@1.service

 

– اتصال: VNC Viewer → IP:5901

– تونل امنیتی: ssh -L 5901:localhost:5901 user@IP

– noVNC:

  – نصب websockify و clone noVNC، اجرا: ./utils/novnc_proxy –vnc localhost:5901 –listen 6080

  – سپس مرورگر → http://server:6080/vnc.html

– نکات: VNC رمزنگاری ندارد مگر نسخه RealVNC with encryption؛ پس همیشه تونل یا HTTPS+websockify را استفاده کنید.

 

C) X2Go

– نصب:

  – سرور: sudo apt install x2goserver x2goserver-xsession

  – کلاینت: دانلود X2Go Client

– اتصال: SSH transport, انتخاب desktop environment (XFCE توصیه می‌شود).

– مزایا: فشرده‌سازی NX، عملکرد عالی روی اتصال‌های با تاخیر.

 

D) Xpra

– استفاده: xpra start :100 –start-child=xterm

– امکان فرستادن پنجره منفرد، مناسب برای برنامه‌های خاص.

 

 

 

 

 

noVNC و کنسول وب — راه‌اندازی عملی

 

– معماری: VNC server ← websockify (WebSocket proxy) ← noVNC client (HTML5) در مرورگر.

– نصب نمونه (Ubuntu):

sudo apt install python3-websockify
git clone https://github.com/novnc/noVNC.git
./utils/novnc_proxy --vnc localhost:5901 --listen 6080

 

– برای HTTPS: از reverse proxy مثل nginx با SSL certificate استفاده کنید و websockify را پشت آن اجرا کنید.

– مشکلات معمول: CORS, WebSocket handshake failure → پیکربندی nginx برای proxy_set_header Upgrade و Connection.

– استفاده در پنل VPS: ارائه‌دهندگان معمولاً این را از قبل فراهم کرده‌اند (مثلاً VNC console).

 

 

 

 

 

تونل SSH و Port Forwarding (کاربردها و مثال‌ها)

 

– Local forwarding (-L): دسترسی به سرویسی که روی سرور اجراست از کلاینت.

  – مثال: ssh -L 8080:localhost:80 user@server → باز کردن http://localhost:8080 روی کلاینت.

– Remote forwarding (-R): expose پورت محلی به سرور.

  – مثال: ssh -R 9000:localhost:3000 user@server → دیگران روی سرور می‌توانند به پورت 9000 دسترسی داشته باشند و ترافیک به پورت 3000 شما منتقل شود.

– Dynamic forwarding (-D): ایجاد SOCKS proxy روی کلاینت.

  – مثال: ssh -D 1080 user@server → تنظیم مرورگر برای استفاده از SOCKS5 proxy localhost:1080.

– گزینه‌های امنیتی:

  – -N (no command), -f (background) برای تونل‌های دائم.

  – GatewayPorts yes/no در سرور sshd_config برای کنترل forwarded ports exposure.

 

 

 

 

 

فایروال‌ها، NAT و مسائل شبکه‌ای

 

– NAT: اگر سرور پشت NAT (مثلاً در شبکه محلی یا برخی محیط‌های ابری)، باید پورت‌ها را در لایه میزبان/پروکسی باز کنید یا از کنسول ارائه‌دهنده استفاده کنید.

– IPv4 vs IPv6: مطمئن شوید IP مورد استفاده قابل دسترسی است؛ برخی ارائه‌دهندگان IPv6 فقط داخلی فراهم می‌کنند.

– UFW نمونه (Ubuntu):

  – sudo ufw allow OpenSSH

  – sudo ufw allow 3389/tcp (با احتیاط)

  – sudo ufw enable

– iptables مثال پایه برای محدود کردن IP خاص:

  – iptables -A INPUT -p tcp –dport 22 -s 203.0.113.100 -j ACCEPT

  – iptables -A INPUT -p tcp –dport 22 -j DROP

– تشخیص و رفع مشکل اتصال:

  – بررسی reachability: ping, traceroute

  – بررسی پورت باز: nc -zv server 22 یا nmap -p 22 server

  – لاگ‌ها: /var/log/auth.log, /var/log/secure, Windows Event Viewer

 

 

 

 

 

ابزارهای تجاری و جایگزین‌ها

 

TeamViewer / AnyDesk:

  – NAT traversal خودکار، نصب آسان، اما نیاز به کلاینت اختصاصی و ممکن است هزینه‌بر باشد.

– Splashtop, Parsec (برای گیمینگ با تاخیر کم).

– مقایسه مختصر: امنیت، نیاز نصب عامل، هزینه، عملکرد.

 

 

 

 

نمونه سناریوها و دستورالعمل‌های عملی (Use-cases)

 

A) راه‌اندازی سرور لینوکس برای مدیریت وب‌سایت:

ایجاد کاربر sudo به‌جای root.

نصب و پیکربندی Firewall (UFW) و باز کردن پورت‌های 22,80,443.

تنظیم کلید SSH و غیرفعال کردن PasswordAuthentication.

نصب وب‌سرور (nginx/apache) و Certbot برای HTTPS.

B) دسترسی دسکتاپ برای پشتیبانی کاربر ویندوزی:

اطمینان از آپدیت ویندوز.

فعال کردن NLA و محدود کردن IP/استفاده از RD Gateway.

ذخیره RDP profile و فعال‌سازی Network Level Authentication.

C) اتصال گرافیکی به لینوکس با حداقل مصرف منابع:

  – نصب Xfce + X2Go، استفاده از X2Go برای تجربه کاربری بهتر.

 

هر سناریو شامل دستورات مرحله‌ای است — اگر می‌خواهید برای یکی از سناریوها راهنمای خط‌به‌خط و unit/systemd فایل‌ها و تنظیمات کامل بسازم، بگویید کدام سناریو.

 

 

4.9/5 - (3140 امتیاز)

ارسال دیدگاه

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


9 - 7

قوانین

قوانین ارسال دیدگاه

لطفاً در ارسال دیدگاه از کلمات مناسب استفاده کنید. ارسال اسپم ممنوع است.