
ที่มาภาพ: Unknown Source
วิธีตั้งค่า VNC Server บน Ubuntu เพื่อติดตามและควบคุมเครื่องจากระยะไกลอย่างปลอดภัย
⚡ สรุป 30 วิ
การตั้งค่า VNC Server บน Ubuntu ทำให้คุณสามารถเข้าถึงเดสก์ท็อปของเครื่อง Linux จากคอมพิวเตอร์หรือมือถืออื่นได้แบบเรียลไทม์ ไม่ต้องอยู่หน้าจอโดยตรง การใช้ VNC อย่างปลอดภัยต้องมีการกำหนดค่าการเข้ารหัสแล…
ภาพรวม — Overview
การตั้งค่า VNC Server บน Ubuntu ทำให้คุณสามารถเข้าถึงเดสก์ท็อปของเครื่อง Linux จากคอมพิวเตอร์หรือมือถืออื่นได้แบบเรียลไทม์ ไม่ต้องอยู่หน้าจอโดยตรง การใช้ VNC อย่างปลอดภัยต้องมีการกำหนดค่าการเข้ารหัสและควบคุมสิทธิ์อย่างเหมาะสม บทความนี้จะนำคุณผ่านขั้นตอนตั้งค่าและทำให้ระบบของคุณมั่นคงต่อการโจมตีจากภายนอก
ความต้องการเบื้องต้น — Prerequisites
ก่อนเริ่มติดตั้ง VNC Server ควรตรวจสอบสิ่งต่อไปนี้
- ระบบปฏิบัติการ Ubuntu 18.04 ขึ้นไป (รุ่นล่าสุดแนะนำ)
- การเชื่อมต่ออินเทอร์เน็ตเพื่อดาวน์โหลดแพคเกจ
- สิทธิ์ผู้ใช้ `sudo` หรือเป็น root
- พอร์ตที่เปิดให้ใช้งาน (โดยทั่วไปพอร์ต 5900)
**Tip: ควรอัปเดตระบบก่อนทำการติดตั้งเสมอ เพื่อหลีกเลี่ยงช่องโหว่ที่ยังไม่ได้รับการแก้ไข
เลือกซอฟต์แวร์ VNC Server — Choose VNC Server
Ubuntu รองรับหลายตัวเลือก VNC Server ที่นิยมใช้กัน
| ชื่อ | ประเภทไลเซนส์ | ความเร็ว | การสนับสนุนการเข้ารหัส |
|---|---|---|---|
| TigerVNC | Open‑source | สูง | TLS + SSH tunneling |
| RealVNC | ฟรี/พรีเมี่ยม | ปานกลาง | AES‑256 (รุ่น Pro) |
| TightVNC | Open‑source | ปานกลาง | ไม่มี TLS แต่ใช้ SSH ได้ |
สรุป: หากต้องการความเร็วและการเข้ารหัสในตัวเลือกแรกคือ TigerVNC**; หากคุณต้องการ UI ที่ใช้ง่ายอาจพิจารณา RealVNC เวอร์ชันฟรี
การติดตั้งและกำหนดค่า — Installation & Configuration
ขั้นตอนต่อไปนี้ใช้ TigerVNC เป็นตัวอย่าง แต่หลักการคล้ายกันกับซอฟต์แวร์อื่น
- **ขั้นตอนที่ 1: ติดตั้งแพคเกจจาก repository
```bash sudo apt update sudo apt install tigervnc-standalone-server tigervnc-common ```
- **ขั้นตอนที่ 2: สร้างพาสเวิร์ดสำหรับ VNC user
```bash vncpasswd ``` พิมพ์พาสเวิร์ดสองครั้ง แล้วเลือก “View-only password” เป็น `n`
- **ขั้นตอนที่ 3: สร้างไฟล์ service เพื่อให้ VNC ทำงานเป็น daemon
```bash sudo nano /etc/systemd/system/[email protected] ```
ใส่เนื้อหาดังนี้
``` [Unit] Description=Start TigerVNC server at startup After=syslog.target network.target
[Service] Type=forking User=%i PAMName=login PIDFile=/home/%i/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080 -depth 24 ExecStop=/usr/bin/vncserver -kill :%i
[Install] WantedBy=multi-user.target ```
บันทึกและปิดไฟล์
- **ขั้นตอนที่ 4: เริ่ม service สำหรับผู้ใช้ที่ต้องการ (เช่น `ubuntu`)
```bash sudo systemctl daemon-reload sudo systemctl enable [email protected] sudo systemctl start [email protected] ```
ตรวจสอบสถานะ
```bash systemctl status [email protected] ```
- **ขั้นตอนที่ 5: ปรับการตั้งค่าเริ่มต้น (resolution, colour depth) โดยแก้ไขไฟล์ `~/.vnc/xstartup`
```bash #!/bin/sh xrdb $HOME/.Xresources startxfce4 & ``` ให้สิทธิ์ทำงาน
```bash chmod +x ~/.vnc/xstartup ```
การรักษาความปลอดภัยของการเชื่อมต่อ — Secure the Connection
VNC เองไม่ได้เข้ารหัสข้อมูลทั้งหมด ควรใช้วิธีเสริมเพื่อป้องกันการดักฟัง
- สร้าง tunnel ผ่าน SSH ก่อนเปิดพอร์ต VNC ไปสู่ภายนอก
```bash ssh -L 5901:localhost:5901 user@your_ubuntu_ip ```
จากนั้นเชื่อมต่อคลายเอนด์ของคุณที่ `localhost:5901` แทนการใช้ IP ตรง
- ปิดพอร์ต VNC ในไฟร์วอลล์ และเปิดเฉพาะที่ผ่าน SSH tunnel
```bash sudo ufw allow from 127.0.0.1 to any port 5901 comment 'VNC via SSH' sudo ufw deny 5900/tcp ```
- ตั้งค่าการรับรองผู้ใช้ด้วย PAM เพื่อให้สามารถล็อกเอาต์โดยอัตโนมัติเมื่อไม่มีการใช้งาน
```bash sudo nano /etc/pam.d/vncserver ``` เพิ่มบรรทัด
``` auth required pam_unix.so account required pam_unix.so session required pam_unix.so ```
**Tip: อย่าลืมเปลี่ยนพอร์ต VNC เริ่มต้นจาก 5900 เป็นค่าอื่น (เช่น 5901) เพื่อทำให้ยากต่อการสแกนอัตโนมัติ
การทดสอบการเชื่อมต่อ — Test Connectivity
ตรวจสอบว่าการตั้งค่าทำงานตามคาดหรือไม่
- เปิด VNC client บนอุปกรณ์ของคุณ (RealVNC Viewer, TigerVNC Viewer ฯลฯ)
- ป้อน `your_ubuntu_ip:5901` หรือใช้ `localhost:5901` หากเชื่อมต่อผ่าน SSH tunnel
- ใส่พาสเวิร์ดที่ตั้งไว้ในขั้นตอนแรก ถ้าแสดงหน้าจอเดสก์ท็อป แสดงว่าการติดตั้งสำเร็จ
หากไม่สามารถเชื่อมต่อได้ ให้ตรวจสอบ:
- สถานะของ service (`systemctl status [email protected]`)
- กฎไฟร์วอลล์ (`sudo ufw status numbered`)
- พอร์ตที่เปิดบน router (ถ้าอยู่ในเครือข่าย NAT)
ปัญหาที่พบบ่อยและเคล็ดลับ — Tips
- **หน้าจอสีดำหลังเชื่อมต่อ: ตรวจสอบว่าไฟล์ `~/.vnc/xstartup` มีคำสั่งเริ่มต้น desktop environment ที่รองรับ (เช่น `startxfce4`, `gnome-session`)
- **การตัดการเชื่อมต่อบ่อย: ลดความละเอียดและสี (`-geometry 1280x720 -depth 16`) เพื่อลดแบนด์วิธที่ต้องใช้
- **ไม่สามารถ login ด้วยผู้ใช้ใหม่: ให้ตรวจสอบว่าผู้ใช้นั้นอยู่ในกลุ่ม `sudo` หรือมีสิทธิ์เข้าถึงไฟล์ `.vnc/`
**Tip: หากต้องการให้ VNC ทำงานแบบอัตโนมัติหลังรีบูตเครื่อง อย่าลืมใช้คำสั่ง `systemctl enable [email protected]` ทุกครั้งที่เพิ่มหรือแก้ไข service
สรุป — Summary
- ตรวจสอบระบบและอัปเดต Ubuntu ก่อนเริ่ม
- เลือก VNC Server ที่เหมาะกับความต้องการ (TigerVNC แนะนำสำหรับความปลอดภัย)
- ติดตั้งแพคเกจ, ตั้งพาสเวิร์ด, สร้าง service เพื่อให้ทำงานเป็น daemon
- ปรับ `xstartup` ให้เรียก desktop environment ที่คุณใช้
- ใช้ SSH tunnel หรือ TLS เพื่อล็อคการเชื่อมต่อและปิดพอร์ต VNC บนไฟร์วอลล์
- ทดสอบด้วย client ต่างแพลตฟอร์มเพื่อยืนยันการทำงาน
**สรุปสิ่งที่ควรจำ: การตั้งค่า VNC ให้ปลอดภัยไม่ได้อยู่แค่ขั้นตอนติดตั้ง แต่ต้องรวมการเข้ารหัสผ่าน SSH, ปิดพอร์ตเปิดให้กับอินเทอร์เน็ตโดยตรง, และตรวจสอบสิทธิ์ผู้ใช้ทุกครั้ง การทำตามแนวทางเหล่านี้จะทำให้คุณสามารถควบคุม Ubuntu จากระยะไกลได้อย่างมั่นใจและปลอดภัย.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- วิธีตั้งค่า VNC Server บน Ubuntu เพื่อติดตามและควบคุมเครื่องจากระยะไกลอย่างปลอดภัย
- ผู้เขียน
- กองบรรณาธิการ Thai Tech News
- แหล่ง
- บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
- วันที่เผยแพร่
- 10 กรกฎาคม 2569 เวลา 10:50
- URL ต้นฉบับ
- https://thaitech.news/articles/growth-904476



