วิธีการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ VNC บน Ubuntu
คอมพิวเตอร์เครือข่ายเสมือน (VNC) คือระบบการแบ่งปันเดสก์ท็อปแบบกราฟิกที่ใช้กันอย่างแพร่หลาย ซึ่งช่วยให้บัญชีผู้ใช้สามารถเชื่อมต่อและควบคุมอินเทอร์เฟซเดสก์ท็อปของคอมพิวเตอร์เครื่องหนึ่งจากคอมพิวเตอร์เครื่องอื่นหรืออุปกรณ์เคลื่อนที่จากระยะไกลได้ .
ในบทความนี้ เราจะอธิบายวิธีการติดตั้งและกำหนดค่า เซิร์ฟเวอร์ VNC บนรุ่น Ubuntu 18.04 Desktop ผ่านทางโปรแกรม tigervnc-server
สภาพแวดล้อมการทดสอบ
VNC Server: 192.168.56.108
VNC Client: 192.168.56.2
ติดตั้งสภาพแวดล้อมเดสก์ท็อปใน Ubuntu
อย่างที่บอกไปว่า VNC เป็นระบบแชร์เดสก์ท็อป ดังนั้นคุณจึงต้องติดตั้งสภาพแวดล้อมเดสก์ท็อปบนเซิร์ฟเวอร์ Ubuntu ของคุณ คุณสามารถติดตั้ง DE ที่คุณเลือกได้โดยการรันคำสั่งที่เหมาะสมด้านล่างนี้ เพื่อวัตถุประสงค์ของบทความนี้ เราจะติดตั้ง Ubuntu Gnome (เวอร์ชันอย่างเป็นทางการ)
sudo apt-get install ubuntu-desktop #Default Ubuntu desktop
sudo apt install ubuntu-gnome-desktop #Ubuntu Gnome (Official flavor)
sudo apt-get install xfce4 #LXDE
sudo apt-get install lxde #LXDE
sudo apt-get install kubuntu-desktop #KDE
ติดตั้งและกำหนดค่า VNC ใน Ubuntu
เซิร์ฟเวอร์ Tigervnc เป็นโปรแกรม VNC หลายแพลตฟอร์มความเร็วสูง ซึ่งรันเซิร์ฟเวอร์ Xvnc และเริ่มเซสชันคู่ขนานของ Gnome หรือสภาพแวดล้อมเดสก์ท็อปอื่นๆ บนเดสก์ท็อป VNC
หากต้องการติดตั้งเซิร์ฟเวอร์ TigerVNC และแพ็คเกจอื่นๆ ที่เกี่ยวข้องใน Ubuntu ให้รันคำสั่งต่อไปนี้
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer
ตอนนี้เริ่มต้นเซิร์ฟเวอร์ VNC โดยเรียกใช้คำสั่ง vncserver ในฐานะผู้ใช้ปกติ การดำเนินการนี้จะสร้างการกำหนดค่าเริ่มต้นที่จัดเก็บไว้ในไดเร็กทอรี $HOME/.vnc
และจะแจ้งให้คุณตั้งรหัสผ่านเข้าสู่ระบบด้วย
ป้อนรหัสผ่าน (ซึ่งต้องมีความยาวอย่างน้อยหกตัวอักษร) และยืนยัน/ยืนยัน จากนั้นตั้งค่ารหัสผ่านสำหรับดูอย่างเดียวหากต้องการดังต่อไปนี้
vncserver
ls -l ~/.vnc
ต่อไป เราต้องกำหนดค่า DE ให้ทำงานกับเซิร์ฟเวอร์ VNC ดังนั้น ให้หยุดเซิร์ฟเวอร์ VNC โดยใช้คำสั่งต่อไปนี้ เพื่อทำการกำหนดค่าบางอย่าง
vncserver -kill :1
หากต้องการกำหนดค่า GNOME หรือเดสก์ท็อปใดก็ตามที่คุณติดตั้งไว้ ให้สร้างไฟล์ชื่อ xstartup ใต้ไดเร็กทอรีการกำหนดค่าโดยใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบ
vi ~/.vnc/xstartup
เพิ่มบรรทัดต่อไปนี้ในไฟล์ คำสั่งเหล่านี้จะถูกดำเนินการโดยอัตโนมัติทุกครั้งที่คุณเริ่มหรือรีสตาร์ทเซิร์ฟเวอร์ TigerVNC โปรดทราบว่าคำสั่งอาจแตกต่างกันไปขึ้นอยู่กับ DE ที่คุณติดตั้ง
#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &
บันทึกไฟล์และตั้งค่าการอนุญาตที่เหมาะสมในไฟล์เพื่อให้สามารถดำเนินการได้
chmod 700 ~/.vnc/xstartup
จากนั้น ให้เริ่มเซิร์ฟเวอร์ VNC โดยการรันคำสั่งต่อไปนี้ในฐานะผู้ใช้ปกติ ตั้งค่าของคุณเองสำหรับเรขาคณิตการแสดงผล นอกจากนี้ ให้ใช้แฟล็ก -localhost
เพื่ออนุญาตการเชื่อมต่อจาก localhost เท่านั้นและโดยการเปรียบเทียบ จากผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์บนเซิร์ฟเวอร์เท่านั้น
นอกจากนี้ VNC ตามค่าเริ่มต้นจะใช้พอร์ต TCP 5900+N
โดยที่ N
คือหมายเลขที่แสดง ในกรณีนี้ :1
หมายความว่าเซิร์ฟเวอร์ VNC จะทำงานบนหมายเลขพอร์ตการแสดงผล 5901
vncserver :1 -localhost -geometry 1024x768 -depth 32
หากต้องการแสดงรายการเซสชันเซิร์ฟเวอร์ VNC บนระบบของคุณ ให้รันคำสั่งต่อไปนี้
vncserver -list
เมื่อเซิร์ฟเวอร์ VNC เริ่มทำงานแล้ว ให้ตรวจสอบพอร์ตที่เซิร์ฟเวอร์ทำงานอยู่ด้วยคำสั่ง netstat
netstat -tlnp
การเชื่อมต่อกับเซิร์ฟเวอร์ VNC ผ่านไคลเอนต์ VNC
ในส่วนนี้ เราจะแสดงวิธีเชื่อมต่อกับเซิร์ฟเวอร์ VNC แต่ก่อนที่เราจะพูดถึงเรื่องนั้น คุณจำเป็นต้องรู้ว่าโดยค่าเริ่มต้น VNC จะไม่ปลอดภัยตามค่าเริ่มต้น (ไม่ใช่โปรโตคอลที่เข้ารหัสและอาจตกอยู่ภายใต้การดมแพ็กเก็ต) . ปัญหานี้สามารถแก้ไขได้โดยการสร้างช่องสัญญาณจากการเชื่อมต่อไคลเอ็นต์ไปยังเซิร์ฟเวอร์ผ่าน SSH
เมื่อใช้ SSH tunneling คุณสามารถส่งต่อการรับส่งข้อมูลจากเครื่องของคุณบนพอร์ต 5901 ไปยังเซิร์ฟเวอร์ VNC บนพอร์ตเดียวกันได้อย่างปลอดภัย
บนเครื่องไคลเอนต์ Linux ให้เปิดหน้าต่างเทอร์มินัลใหม่และรันคำสั่งต่อไปนี้เพื่อสร้างอุโมงค์ SSH ไปยังเซิร์ฟเวอร์ VNC
ssh -i ~/.ssh/ubuntu18.04 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.108
ถัดไปติดตั้งไคลเอนต์ vncviewer เช่น TigerVNC Viewer ดังต่อไปนี้ (คุณสามารถติดตั้งไคลเอนต์อื่น ๆ ที่คุณเลือกได้)
sudo apt install tigervnc-viewer #Ubuntu/Debian
sudo yum install tigervnc-viewer #CnetOS/RHEL
sudo yum install tigervnc-viewer #Fedora 22+
sudo zypper install tigervnc-viewer #OpenSUSE
sudo pacman -S tigervnc #Arch Linux
เมื่อการติดตั้งเสร็จสมบูรณ์ ให้รันไคลเอนต์ VNC ของคุณ ระบุที่อยู่ localhost:5901
เพื่อเชื่อมต่อเพื่อแสดง 1 ดังนี้
vncviewer localhost:5901
หรือเปิดจากเมนูระบบ ป้อนที่อยู่ด้านบน จากนั้นคลิก เชื่อมต่อ
คุณจะได้รับแจ้งให้ป้อนรหัสผ่านเข้าสู่ระบบ VNC ที่สร้างขึ้นก่อนหน้านี้ ป้อนรหัสผ่านและคลิก ตกลง เพื่อดำเนินการต่อ
หากรหัสผ่านถูกต้อง คุณจะเข้าสู่อินเทอร์เฟซการเข้าสู่ระบบของเดสก์ท็อปของคุณ ป้อนรหัสผ่านของคุณเพื่อเข้าถึงเดสก์ท็อป
โปรดทราบ: หากคุณคำนึงถึงความปลอดภัย คุณอาจสังเกตเห็นว่าโปรแกรมดู VNC กำลังแสดง “การเชื่อมต่อไม่ได้เข้ารหัส ” แม้ว่าเราจะเปิดใช้งานแล้วก็ตาม การขุดอุโมงค์ SSH
เนื่องจากได้รับการออกแบบมาเพื่อใช้รูปแบบการรักษาความปลอดภัยเฉพาะนอกเหนือจาก SSH tunneling เมื่อพยายามตรวจสอบสิทธิ์กับเซิร์ฟเวอร์ อย่างไรก็ตาม การเชื่อมต่อจะปลอดภัยเมื่อคุณเปิดใช้งาน SSH tunneling แล้ว
การสร้างไฟล์ Systemd Unit สำหรับเซิร์ฟเวอร์ TigerVNC
ในการจัดการเซิร์ฟเวอร์ VNC ภายใต้ systemd เช่น เริ่ม หยุด และรีสตาร์ทบริการ VNC ตามต้องการ เราจำเป็นต้องสร้างไฟล์หน่วยสำหรับเซิร์ฟเวอร์ภายใต้ /etc/systemd/system/ ไดเร็กทอรีที่มีสิทธิ์ใช้งานรูท
sudo vim /etc/systemd/system/[email
จากนั้นเพิ่มบรรทัดต่อไปนี้ในไฟล์:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=tecmint
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1024x768
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
บันทึกไฟล์และปิด
จากนั้นให้โหลดการกำหนดค่า systemd manager อีกครั้งเพื่ออ่านไฟล์หน่วยที่สร้างขึ้นใหม่ดังต่อไปนี้
sudo systemctl daemon-reload
จากนั้นเริ่มบริการ VNC เปิดใช้งานเพื่อเริ่มอัตโนมัติเมื่อบูตระบบและตรวจสอบสถานะตามที่แสดง
sudo systemctl start vncserver@1
sudo systemctl enable vncserver@1
sudo systemctl status vncserver@1
นั่นคือทั้งหมด! ในบทความนี้ เราได้อธิบายวิธีการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ VNC บนการกระจาย Ubuntu Linux แบ่งปันคำถามหรือความคิดของคุณกับเราผ่านแบบฟอร์มคำติชมด้านล่าง