Cách cài đặt VNC Server Ubuntu 22.04

theanh

Administrator
Nhân viên
Virtual Network Computing (VNC) là một giao thức chia sẻ màn hình cho phép bạn điều khiển máy tính từ xa bằng phần mềm máy khách VNC. VNC hoạt động trên môi trường GUI (Giao diện người dùng đồ họa), nó truyền chuyển động của chuột và bàn phím của bạn qua mạng bằng giao thức Remote Frame Buffer (RFB).

Thông thường, VNC được các kỹ thuật viên sử dụng để điều khiển màn hình máy khách hoặc được sử dụng bởi một người nào đó cần truy cập Màn hình máy tính của họ tại văn phòng từ nhà. VNC có thể được sử dụng an toàn thông qua mạng VPN hoặc sử dụng kết nối đường hầm SSH.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình Máy chủ VNC trên Ubuntu Server 22.04 mới nhất. Hướng dẫn này cũng đề cập đến cách kết nối an toàn với VNC Server thông qua đường hầm SSh.

Điều kiện tiên quyết​

  • Ubuntu Server phiên bản 22.04
  • Người dùng không phải root có quyền root

Cài đặt Môi trường Desktop​

Trước tiên, bạn sẽ cài đặt Môi trường Desktop hoặc DE trên máy chủ của mình. Có nhiều DE trên Linux mà bạn có thể sử dụng, nhưng thường thì trên môi trường máy chủ, bạn sẽ cài đặt và sử dụng các DE nhẹ như XFCE và MATE Desktop. Điều này là do hầu hết môi trường máy chủ đều bị giới hạn về mặt tài nguyên.

Trong ví dụ này, bạn sẽ sử dụng XFCE làm Môi trường máy tính để bàn mặc định cho cài đặt VNC Server của mình, nhưng bạn cũng sẽ tìm hiểu cách cài đặt các DE khác trên hệ thống của mình. XFCE là môi trường máy tính để bàn trung bình mà bạn có thể cài đặt trên cả máy chủ và máy tính xách tay/máy tính của mình. Nó nhẹ và chỉ chiếm không quá 600MB dung lượng ổ đĩa của bạn, và nó cũng phù hợp với máy có bộ nhớ/RAM thấp, 4GB RAM là quá đủ để chạy XFCE.

Trước khi bạn bắt đầu cài đặt bất kỳ gói nào, hãy chạy lệnh bên dưới để cập nhật và làm mới kho lưu trữ Ubuntu của bạn.
Mã:
sudo apt update
Bây giờ hãy cài đặt màn hình nền XFCE vào hệ thống của bạn bằng lệnh sau.
Mã:
sudo apt install xfce4 xfce4-goodies
Nhập Y để xác nhận và nhấn ENTER để bắt đầu cài đặt. Và quá trình cài đặt XFCE sẽ bắt đầu.

Nếu bạn muốn sử dụng một DE khác như Gnome, bạn có thể cài đặt bằng lệnh sau.
Mã:
sudo apt install ubuntu-desktop-minimal
Một cách tuyệt vời khác để cài đặt DE vào hệ thống Ubuntu của bạn là sử dụng "tasksel", lệnh này sẽ tự động cài đặt Môi trường máy tính để bàn theo lựa chọn của bạn.

Bạn có thể cài đặt tasksel bằng lệnh sau.
Mã:
sudo apt install tasksel
Nhập Y để xác nhận và nhấn ENTER để bắt đầu cài đặt.



Sau khi cài đặt hoàn tất, hãy chạy lệnh tasksel bên dưới.
Mã:
sudo tasksel
Trong ảnh chụp màn hình bên dưới, bạn có thể thấy menu để cài đặt một số DE khác nhau vào hệ thống của mình. Chọn DE bạn muốn cài đặt bằng nút SPACE và di chuyển con trỏ đến OK, quá trình cài đặt sẽ bắt đầu.


Thiết lập người dùng mới​

Sau khi thiết lập cài đặt Môi trường máy tính để bàn, bây giờ bạn sẽ thiết lập người dùng mới cho Máy chủ VNC của mình. Máy chủ VNC có thể chạy trên mọi người dùng trên hệ thống của bạn, nhưng không nên chạy Máy chủ VNC dưới dạng người dùng gốc.

Trong bản demo này, bạn sẽ tạo một người dùng mới có tên là 'alice' với các đặc quyền bổ sung bằng cách thực hiện lệnh 'sudo su' để có được các đặc quyền gốc. Và Máy chủ VNC sẽ chạy dưới người dùng này.

Chạy lệnh sau để thêm người dùng mới 'alice' và thiết lập mật khẩu cho người dùng đó. Hãy đảm bảo sử dụng mật khẩu mạnh cho người dùng đó.
Mã:
sudo useradd -m -s /bin/bash alice
sudo passwd alice
Bây giờ hãy thêm người dùng 'alice' vào nhóm 'sudo' bằng lệnh bên dưới. Lệnh này sẽ cho phép người dùng mới 'alice' thực thi lệnh 'sudo su' để có được quyền quản trị viên gốc.
Mã:
sudo usermod -aG sudo alice
Cuối cùng, hãy đăng nhập với tư cách là người dùng mới 'alice' và chạy lệnh 'sudo su' để kiểm tra và xác minh quyền quản trị gốc.
Mã:
su - alice
sudo su
Nhập đúng mật khẩu của bạn cho người dùng 'alice'. Nếu xác thực thành công, bạn sẽ nhận được lời nhắc mới như 'root@hostname' có nghĩa là bạn đã có quyền quản trị viên gốc.


Cài đặt TigerVNC Server​

Bây giờ là lúc cài đặt các gói VNC Server vào Ubuntu Server của bạn. Trong ví dụ này, bạn sẽ cài đặt và sử dụng gói TigerVNC Server cho VNC Server của mình. Gói TigerVNC có sẵn trên hầu hết các bản phân phối Linux, bao gồm Ubuntu. Ngoài ra, TigerVNC cung cấp các gói hoàn chỉnh bao gồm VNC Server, VNC Viewer/Client và các công cụ bổ sung cho VNC.

Cài đặt gói TigerVNC Server bằng lệnh apt bên dưới.
Mã:
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools
Nhập Y để xác nhận và nhấn ENTER để tiếp tục cài đặt. Bây giờ quá trình cài đặt sẽ bắt đầu.



Sau khi hoàn tất cài đặt toàn bộ gói, hãy chuyển sang giai đoạn tiếp theo để khởi tạo cấu hình Máy chủ VNC.

Khởi tạo Máy chủ VNC​

Bây giờ bạn đã hoàn tất quá trình cài đặt các gói TigerVNC vào Máy chủ Ubuntu của mình, đã đến lúc thiết lập và cấu hình máy chủ VNC bằng các gói TigerVNC.

Trong ví dụ này, máy chủ VNC sẽ chạy dưới người dùng không phải root là 'alice' với Môi trường máy tính để bàn mặc định là XFCE - DE nhẹ nhưng mạnh mẽ.

Bây giờ hãy đăng nhập với tư cách là người dùng 'alice' bằng lệnh bên dưới.
Mã:
su - alice
Khởi tạo cấu hình Máy chủ VNC bằng lệnh sau. Có thể sử dụng vncserver dòng lệnh để quản lý cấu hình máy chủ VNC của bạn, bao gồm khởi tạo, kiểm tra trạng thái, thiết lập tập lệnh khởi động, v.v.
Mã:
vncserver
Bây giờ bạn sẽ được yêu cầu cấu hình Máy chủ VNC sau:
  • Cấu hình mật khẩu cho Máy chủ VNC: Nhập mật khẩu mới cho Máy chủ VNC của bạn. Mật khẩu này sẽ được sử dụng để đăng nhập vào Máy chủ VNC của bạn, mật khẩu tối đa là 8 ký tự. Nếu bạn nhập nhiều hơn 8 ký tự, thì bạn sẽ thấy lỗi. Vì vậy, hãy đảm bảo sử dụng mật khẩu mạnh không quá 8 ký tự và nhập lại mật khẩu để xác minh.
  • Cài đặt mật khẩu chỉ xem: Tùy chọn này cho phép bạn chia sẻ Máy chủ VNC hoặc phiên với người dùng khác có quyền chỉ xem. Tùy chọn này có thể được sử dụng nếu bạn muốn trình diễn cho những người dùng khác nhưng có quyền chỉ xem hạn chế. Trong ví dụ này, chúng ta không cần mật khẩu chỉ xem, vì vậy hãy nhập n cho no.
Lệnh này cũng tạo một thư mục cấu hình mới cho VNC Server có tên là "~/.vnc" trong thư mục home.

Bây giờ khi quá trình khởi tạo VNC Server hoàn tất và thành công, bạn sẽ thấy thông báo đầu ra như bên dưới. VNC Server hiện đang chạy trên "ubuntu-machine:1" với cổng TCP mặc định 5901. ubuntu-machinee là tên máy chủ hệ thống của bạn và :1 có nghĩa là Máy chủ VNC đang chạy trên màn hình :1.
Mã:
Máy chủ Xtigervnc mới 'ubuntu-machine:1 (alice)' trên cổng 5901 để hiển thị :1.
Sử dụng xtigervncviewer -SecurityTypes VncAuth -passwd /home/alice/.vnc/passwd :1 để kết nối với máy chủ VNC.


Tiếp theo, hãy tắt Máy chủ VNC 'ubuntu-machine:1' và bắt đầu cấu hình tập lệnh khởi động.

Tắt tiến trình Máy chủ VNC 'ubuntu-machine:1' bằng lệnh vncserver bên dưới.
Mã:
vncserver -kill ubuntu-machine:1
Bây giờ hãy tạo một tập lệnh khởi động mới ~/.vnc/xstartup bằng trình soạn thảo nano.
Mã:
nano ~/.vnc/xstartup
Thêm tập lệnh sau vào đó. Tập lệnh này sẽ tự động thực thi màn hình XFCE bất cứ khi nào VNC Server được khởi động.
Mã:
#!/bin/sh
# Khởi động màn hình hệ thống chuẩn
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &
Lưu và đóng tệp khi bạn hoàn tất.

Cuối cùng, chạy lệnh chmod bên dưới để làm cho tập lệnh khởi động có thể thực thi được.
Mã:
chmod +x ~/.vnc/xstartup
Tại thời điểm này, bạn đã hoàn tất quá trình khởi tạo và cấu hình cơ bản của VNC Server trên Ubuntu 22.04 với máy tính để bàn XFCE.

Thêm người dùng mới vào TigerVNC Server​

Bây giờ bạn sẽ cần thêm và xác định người dùng VNC vào tệp cấu hình TigerVNC Server. Người dùng của bạn cho VNC Server sẽ có sẵn tại tệp /etc/tigervnc/vncserver.users.

Sửa tệp /etc/tigervnc/vncserver.users bằng trình soạn thảo nano.
Mã:
sudo nano /etc/tigervnc/vncserver.users
Thêm cấu hình sau vào đó. Định dạng ở đây là ":display=alice", và ví dụ ở đây là VNC Server đang chạy trên màn hình ":1" cho người dùng VNC "alice". Bạn cũng có thể thêm nhiều người dùng vào tệp khi bạn có nhiều quy trình VNC Server.
Mã:
:1=alice
Lưu và đóng tệp khi bạn hoàn tất.

Bây giờ hãy chạy lệnh bên dưới để khởi động và bật VNC Server để hiển thị ":1". Nếu bạn có nhiều quy trình VNC Server với nhiều màn hình, thì bạn có thể thay đổi số hiển thị ở cuối tên dịch vụ như "tigervncserver@:N.service", chữ N ở đây là số.
Mã:
sudo systemctl start tigervncserver@:1.service
sudo systemctl enable tigervncserver@:1.service
Cuối cùng, hãy chạy lệnh bên dưới để kiểm tra và xác minh trạng thái dịch vụ VNC Server.
Mã:
sudo systemctl status tigervncserver@:1.service
Trong ảnh chụp màn hình bên dưới, bạn có thể thấy tigervncserver@:1.service đang hoạt động và chạy. VNC Server đang chạy với tư cách là người dùng 'alice' trong màn hình hiển thị ":1" với cổng TCP mặc định 5901.



Ngoài ra, nếu bạn gặp lỗi trong quá trình khởi động VNC Server, bạn có thể kiểm tra tệp nhật ký bên trong thư mục ~/.vnc. Trong ví dụ này, người dùng là alice, vì vậy hãy đăng nhập với tư cách là người dùng 'alice' và kiểm tra các tệp nhật ký chi tiết bên dưới.
Mã:
su - alice
cd ~/.vnc/; ls -lah
Bạn sẽ thấy hai tệp nhật ký của dịch vụ VNC Server. Kiểm tra tất cả các tệp nhật ký đó bất cứ khi nào bạn gặp lỗi khi khởi động dịch vụ VNC Server.

Lúc này, bạn đã hoàn tất quá trình cài đặt và cấu hình VNC Server trên Ubuntu 22.04 và bây giờ bạn có thể kết nối với VNC Server từ máy cục bộ của mình.

Kết nối an toàn với VNC Server bằng SSH Tunnel​

Trong phần này, bạn sẽ kiểm tra và xác minh cài đặt VNC Server bằng cách kết nối an toàn với VNC Server bằng SSL Tunneling.

Trước khi bắt đầu kết nối với VNC Server, hãy đảm bảo rằng máy khách VNC đã được cài đặt trên máy cục bộ của bạn. Đối với Windows và macOS, bạn có thể sử dụng RealVNC, còn đối với máy tính để bàn Linux, bạn có thể sử dụng TigerVNC Viewer, chủ yếu có sẵn theo mặc định trên kho lưu trữ phân phối của mình.

Trước khi bắt đầu kết nối với VNC Server, hãy chạy lệnh ssh bên dưới trên máy cục bộ của bạn để kết nối với máy chủ. Lệnh này sẽ tạo đường hầm SSH an toàn đến máy chủ của bạn, trên máy cục bộ của bạn, bạn sẽ mở cổng TCP 5901 đã tạo đường hầm đến máy chủ của bạn trên cùng cổng 5901.
Mã:
ssh -L 5901:127.0.0.1:5901 -N -f -l alice t 192.168.10.15
Nhập mật khẩu cho người dùng của bạn. Trong ví dụ này, chúng tôi đang sử dụng cùng một người dùng có tên 'alice'.



Tiếp theo, mở ứng dụng VNC Client của bạn và kết nối với VNC Server của bạn bằng địa chỉ "localhost:5901". Thao tác này sẽ tự động gửi kết nối an toàn đến VNC Server của bạn thông qua đường hầm SSH.

Trong ví dụ này, VNC client ở đây là TigerVNC Viewer. Bây giờ hãy nhấp vào Kết nối để bắt đầu kết nối với máy chủ.



Nhập mật khẩu cho Máy chủ VNC của bạn và nhấp vào OK để tiếp tục. Ngoài ra, bạn có thể thấy thông báo kết nối không an toàn. Bạn có thể bỏ qua thông báo này vì trong trường hợp này, bạn đang kết nối với máy chủ cục bộ.



Khi mật khẩu đúng, bạn có thể thấy Máy chủ VNC với XFCE Desktop như bên dưới. Bạn có thể mở thiết bị đầu cuối trên máy tính để bàn và chạy một số lệnh để xác minh hệ thống của mình.


Kết luận​

Xin chúc mừng! Bây giờ bạn đã cài đặt và định cấu hình thành công Máy chủ VNC trên máy chủ Ubuntu 22.04 mới nhất với XFCE làm Môi trường máy tính để bàn mặc định. Ngoài ra, bạn đã học cách cài đặt các DE khác vào máy chủ Ubuntu. Cuối cùng, bạn cũng đã học cách kết nối an toàn với Máy chủ VNC thông qua đường hầm SSH.
 
Back
Bên trên