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à đầu vào 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 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 kết nối đường hầm SSH.
Hướng dẫn sau đây sẽ hướng dẫn bạn cài đặt Máy chủ VNC trên máy chủ AlmaLinux 9. Bạn sẽ thiết lập VNC Server với TigerVNC và XFCE trên máy chủ AlmaLinux của mình.
Nếu bạn đang chạy máy chủ Linux trong phạm vi 2/4 bộ nhớ, bạn có thể sử dụng các DE nhẹ như XFCE, Mate và Cinnamon. Tuy nhiên, nếu bạn có nhiều bộ nhớ hơn như 8 GB, thì bạn có thể sử dụng Gnome làm DE mặc định trên máy chủ của mình.
Phần còn lại của hướng dẫn này sẽ chỉ cho bạn cách thiết lập Máy chủ VNC với XFCE làm DE mặc định, phù hợp với mọi tài nguyên mà bạn có. Nó có thể chạy nhẹ với bộ nhớ nhỏ trên máy chủ của bạn.
Đầu tiên, hãy chạy lệnh dnf bên dưới để thêm kho lưu trữ EPEL vào hệ thống của bạn. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22175%22%3E%3C/svg%3E
Bây giờ, hãy chạy lệnh sau để cài đặt các gói XFCE Desktop và Xorg của hệ thống. Nhập y để xác nhận cài đặt, sau đó nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22350%22%3E%3C/svg%3E
Ngoài ra, nếu được nhắc xác nhận khóa GPGP cho kho lưu trữ EPEL, hãy nhập y và nhấn ENTER lần nữa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22604%22%20height=%22194%22%3E%3C/svg%3E
Sau khi XFCE và Xorg được cài đặt, hãy chạy lệnh sau để thiết lập khởi động mặc định của máy chủ của bạn để sử dụng GUI hoặc môi trường đồ họa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22112%22%3E%3C/svg%3E
Nếu bạn muốn sử dụng một Môi trường máy tính để bàn khác, hãy sử dụng lệnh sau để cài đặt:
Cài đặt Môi trường máy tính để bàn Gnome.
Cài đặt Môi trường máy tính để bàn KDE Môi trường.
Dưới đây là một số bước bạn phải thực hiện:
Chạy lệnh sau để tạo người dùng và mật khẩu mới. Trong bản demo này, bạn sẽ tạo một người dùng mới bob.
Bây giờ hãy thực hiện lệnh sau để thêm người dùng bob vào nhóm wheel. Hành động này cho phép người dùng bob chạy và thực thi lệnh sudo để có được quyền root.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22528%22%20height=%22205%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh dnf bên dưới để cài đặt gói TigerVNC Server vào hệ thống của bạn.
Nhập y để xác nhận cài đặt và nhấn ENTER.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22448%22%3E%3C/svg%3E
Sau khi tạo người dùng mới và cài đặt TigerVNC Server, giờ bạn đã sẵn sàng thiết lập VNC Server thông qua TigerVNC Server.
Thực hiện lệnh sau để đăng nhập với tư cách là người dùng bob.
Chạy lệnh sau để tạo thư mục mới ~/.vnc/ và tệp cấu hình VNC mới ~/.vnc/config.
Chèn cấu hình sau. Trong tham số phiên, bạn có thể chỉ định Môi trường máy tính để bàn sẽ được sử dụng. Kiểm tra danh sách các tệp trong thư mục /usr/share/xsessions để biết danh sách các Môi trường máy tính để bàn khả dụng trên hệ thống của bạn.
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, chạy lệnh vncpasswd bên dưới để tạo mật khẩu mới cho VNC của bạn Máy chủ.
Nhập mật khẩu mới và lặp lại. Khi được yêu cầu thiết lập mật khẩu chỉ xem, hãy nhập n để vô hiệu hóa hoặc y để định cấu hình.
Bây giờ hãy chạy lệnh sau để thiết lập ngữ cảnh SELinux cho thư mục /home/bob/.vnc.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22528%22%20height=%22273%22%3E%3C/svg%3E
Sau đó, mở tệp /etc/tigervnc/vncserver.users bằng lệnh trình chỉnh sửa nano sau.
Thêm dòng sau vào tệp. Với lệnh này, bạn sẽ tạo VNC Server để hiển thị :1 cho người dùng bob.
Lưu tệp và đóng trình chỉnh sửa khi hoàn tất.
Tiếp theo, chạy lệnh systemctl bên dưới để tải lại trình quản lý systemd.
Sau đó, khởi động và bật VNC Server để hiển thị :1 sử dụng lệnh bên dưới. Cuối tên dịch vụ là số hiển thị của VNC Server và cho phép bạn tạo nhiều màn hình trên một máy chủ duy nhất như vncserver@:2 cho VNC Server display :2 v.v.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22160%22%3E%3C/svg%3E
Cuối cùng, chạy lệnh sau để xác minh trạng thái của Máy chủ VNC để hiển thị :1.
Nếu mọi việc diễn ra tốt đẹp, bạn sẽ thấy trạng thái hiển thị :1 của Máy chủ VNC đang hoạt động (đang chạy).
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22191%22%3E%3C/svg%3E
Hãy đảm bảo rằng firewalld được kích hoạt hoặc bạn có thể chạy lệnh sau để khởi động nó.
Bây giờ hãy chạy lệnh firewall-cmd bên dưới để thêm vnc-server vào firewalld và tải lại firewalld để áp dụng thay đổi.
Sau đó, xác minh danh sách các dịch vụ được bật trên tường lửa bằng lệnh bên dưới. Đầu ra phải chỉ ra rằng vnc-server đã được thêm vào firewalld.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22671%22%20height=%22283%22%3E%3C/svg%3E
Trên máy cục bộ của bạn, hãy chạy lệnh ssh bên dưới để tạo đường hầm SSH đến VNC Server. Trong bản demo này, Máy chủ VNC có địa chỉ IP là 192.168.10.20 và chúng tôi sẽ sử dụng người dùng bob để tạo đường hầm.
Khi mật khẩu cho người dùng bob được nhắc.
Bây giờ, hãy mở ứng dụng máy khách VNC trên máy cục bộ của bạn và kết nối với 127.0.0.1 với cổng 5901. Bạn có thể truy cập Máy chủ VNC qua máy chủ cục bộ vì bạn đã tạo đường hầm SSH an toàn tới Máy chủ VNC với cổng 5901.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22612%22%20height=%22118%22%3E%3C/svg%3E
Khi bạn nhận được cảnh báo về các kết nối không được mã hóa, hãy nhấp vào Tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22406%22%20height=%22285%22%3E%3C/svg%3E
Nhập mật khẩu Máy chủ VNC khi được nhắc và nhấp vào OK để xác nhận.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336%22%20height=%22248%22%3E%3C/svg%3E
Nếu bạn có đúng mật khẩu cho Máy chủ VNC, bạn sẽ nhận được Môi trường máy tính để bàn mặc định mà bạn đang sử dụng. Trong bản demo này, Môi trường Desktop mặc định là XFCE.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22482%22%3E%3C/svg%3E
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 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 kết nối đường hầm SSH.
Hướng dẫn sau đây sẽ hướng dẫn bạn cài đặt Máy chủ VNC trên máy chủ AlmaLinux 9. Bạn sẽ thiết lập VNC Server với TigerVNC và XFCE trên máy chủ AlmaLinux của mình.
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, hãy đảm bảo bạn có những điều sau:- Máy chủ AlmaLinux 9 - Bản demo này sẽ sử dụng máy chủ AlmaLinux 9 với tên máy chủ alma9 và địa chỉ IP 192.168.10.20.
- Người dùng không phải root có quyền quản trị viên.
Cài đặt Môi trường máy tính để bàn
Bước đầu tiên bạn cần thực hiện trước khi cài đặt VNC Server là quyết định Môi trường máy tính để bàn nào bạn muốn sử dụng. Trên Linux, có nhiều Môi trường máy tính để bàn mà bạn có thể sử dụng, mỗi DE đều có ưu và nhược điểm.Nếu bạn đang chạy máy chủ Linux trong phạm vi 2/4 bộ nhớ, bạn có thể sử dụng các DE nhẹ như XFCE, Mate và Cinnamon. Tuy nhiên, nếu bạn có nhiều bộ nhớ hơn như 8 GB, thì bạn có thể sử dụng Gnome làm DE mặc định trên máy chủ của mình.
Phần còn lại của hướng dẫn này sẽ chỉ cho bạn cách thiết lập Máy chủ VNC với XFCE làm DE mặc định, phù hợp với mọi tài nguyên mà bạn có. Nó có thể chạy nhẹ với bộ nhớ nhỏ trên máy chủ của bạn.
Đầu tiên, hãy chạy lệnh dnf bên dưới để thêm kho lưu trữ EPEL vào hệ thống của bạn. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER.
Mã:
sudo dnf install epel-release
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22175%22%3E%3C/svg%3E
Bây giờ, hãy chạy lệnh sau để cài đặt các gói XFCE Desktop và Xorg của hệ thống. Nhập y để xác nhận cài đặt, sau đó nhấn ENTER để tiếp tục.
Mã:
sudo dnf groupinstall "Xfce" "base-x"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22350%22%3E%3C/svg%3E
Ngoài ra, nếu được nhắc xác nhận khóa GPGP cho kho lưu trữ EPEL, hãy nhập y và nhấn ENTER lần nữa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22604%22%20height=%22194%22%3E%3C/svg%3E
Sau khi XFCE và Xorg được cài đặt, hãy chạy lệnh sau để thiết lập khởi động mặc định của máy chủ của bạn để sử dụng GUI hoặc môi trường đồ họa.
Mã:
sudo systemctl set-default graphical
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22112%22%3E%3C/svg%3E
Nếu bạn muốn sử dụng một Môi trường máy tính để bàn khác, hãy sử dụng lệnh sau để cài đặt:
Cài đặt Môi trường máy tính để bàn Gnome.
Mã:
sudo dnf groupinstall "Server with GUI"
Mã:
sudo dnf groupinstall "KDE Plasma Workspaces"
Cài đặt và cấu hình TigerVNC Server
Sau khi cài đặt Môi trường máy tính để bàn, bước tiếp theo là cài đặt VNC Server trên máy chủ AlmaLinux của bạn. Trong ví dụ này, bạn sẽ sử dụng TigerVNC Server để tạo VNC Server của mình.Dưới đây là một số bước bạn phải thực hiện:
- Thêm người dùng mới
- Cài đặt TigerVNC Server
- Cấu hình VNC Server với TigerVNC Server
Thêm người dùng mới
Trước tiên, bạn cần tạo một người dùng mới sẽ được sử dụng để chạy VNC Server. Ví dụ sau sẽ chỉ cho bạn cách tạo người dùng mới và thiết lập quyền sudo trên hệ thống của bạn.Chạy lệnh sau để tạo người dùng và mật khẩu mới. Trong bản demo này, bạn sẽ tạo một người dùng mới bob.
Mã:
sudo useradd -m -s /bin/bash bob
sudo passwd bob
Mã:
sudo usermod -aG wheel bob
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22528%22%20height=%22205%22%3E%3C/svg%3E
Cài đặt TigerVNC Server
Với người dùng mới được tạo, bây giờ bạn sẽ cài đặt gói TigerVNC Server vào hệ thống của mình. Gói này có sẵn theo mặc định trên kho lưu trữ appstream, bạn có thể cài đặt thông qua trình quản lý gói DNF.Tiếp theo, chạy lệnh dnf bên dưới để cài đặt gói TigerVNC Server vào hệ thống của bạn.
Mã:
sudo dnf install tigervnc-server
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22448%22%3E%3C/svg%3E
Sau khi tạo người dùng mới và cài đặt TigerVNC Server, giờ bạn đã sẵn sàng thiết lập VNC Server thông qua TigerVNC Server.
Cấu hình VNC Server với TigerVNC Server
Trong phần sau, bạn sẽ thiết lập VNC Server trên máy chủ AlmaLinux của mình với TigerVNC và XFCE Desktop.Thực hiện lệnh sau để đăng nhập với tư cách là người dùng bob.
Mã:
su - bob
Mã:
mkdir -p ~/.vnc/
nano ~/.vnc/config
Mã:
session=xfce
securitytypes=vncauth,tlsvnc
geometry=1920x1200
localhost
alwaysshared
Tiếp theo, chạy lệnh vncpasswd bên dưới để tạo mật khẩu mới cho VNC của bạn Máy chủ.
Mã:
vncpasswd
Bây giờ hãy chạy lệnh sau để thiết lập ngữ cảnh SELinux cho thư mục /home/bob/.vnc.
Mã:
restorecon -RFv /home/bob/.vnc
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22528%22%20height=%22273%22%3E%3C/svg%3E
Sau đó, mở tệp /etc/tigervnc/vncserver.users bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/tigervnc/vncserver.users
Mã:
:1=bob
Tiếp theo, chạy lệnh systemctl bên dưới để tải lại trình quản lý systemd.
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl start vncserver@:1
sudo systemctl enable vncserver@:1
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22160%22%3E%3C/svg%3E
Cuối cùng, chạy lệnh sau để xác minh trạng thái của Máy chủ VNC để hiển thị :1.
Mã:
sudo systemctl status vncserver@:1
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22191%22%3E%3C/svg%3E
Cấu hình Firewalld
Nếu bạn đã làm theo hướng dẫn này cho đến nay, bạn đã hoàn tất việc cấu hình Máy chủ VNC với TigerVNC và XFCE Desktop. Bước tiếp theo bạn phải làm là mở cổng VNC Server trên firewalld.Hãy đảm bảo rằng firewalld được kích hoạt hoặc bạn có thể chạy lệnh sau để khởi động nó.
Mã:
sudo systemctl start firewalld
Mã:
sudo firewall-cmd --add-service=vnc-server --permanent
sudo firewall-cmd --reload
Mã:
sudo firewall-cmd --list-all
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22671%22%20height=%22283%22%3E%3C/svg%3E
Truy cập Máy chủ VNC qua Đường hầm SSH
Trong phần này, bạn sẽ học cách kết nối an toàn với VNC Server qua đường hầm SSH. Vì vậy, trước khi bắt đầu, hãy đảm bảo rằng phần mềm VNC Client đã được cài đặt trên máy cục bộ của bạn. Bạn có thể sử dụng VNC Client như UltraVNC cho Windows hoặc RealVNC nếu bạn đang sử dụng Linux hoặc macOS.Trên máy cục bộ của bạn, hãy chạy lệnh ssh bên dưới để tạo đường hầm SSH đến VNC Server. Trong bản demo này, Máy chủ VNC có địa chỉ IP là 192.168.10.20 và chúng tôi sẽ sử dụng người dùng bob để tạo đường hầm.
Mã:
ssh -L 5901:127.0.0.1:5901 -N -f -l bob 192.168.10.20
Bây giờ, hãy mở ứng dụng máy khách VNC trên máy cục bộ của bạn và kết nối với 127.0.0.1 với cổng 5901. Bạn có thể truy cập Máy chủ VNC qua máy chủ cục bộ vì bạn đã tạo đường hầm SSH an toàn tới Máy chủ VNC với cổng 5901.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22612%22%20height=%22118%22%3E%3C/svg%3E
Khi bạn nhận được cảnh báo về các kết nối không được mã hóa, hãy nhấp vào Tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22406%22%20height=%22285%22%3E%3C/svg%3E
Nhập mật khẩu Máy chủ VNC khi được nhắc và nhấp vào OK để xác nhận.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336%22%20height=%22248%22%3E%3C/svg%3E
Nếu bạn có đúng mật khẩu cho Máy chủ VNC, bạn sẽ nhận được Môi trường máy tính để bàn mặc định mà bạn đang sử dụng. Trong bản demo này, Môi trường Desktop mặc định là XFCE.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22482%22%3E%3C/svg%3E