Kết nối an toàn với Cloud Server Debian 1 qua VNC
Mục Lục
1. Cài đặt Gnome
Tùy thuộc vào hương vị môi trường đồ họa của bạn, có một số biến thể như Xfce và KDE, trong số những biến thể khác để bạn lựa chọn. Hướng dẫn này giải thích cách cài đặt môi trường Gnome.
Cập nhật và nâng cấp các gói máy chủ.
$ sudo apt update
$ sudo apt upgrade
Cài đặt phông chữ Gnome cần thiết:
$ sudo apt install xfonts-100dpi xfonts-100dpi-transcoded xfonts-75dpi xfonts-75dpi-transcoded xfonts-base
Cài đặt Gnome:
$ sudo apt install gnome
2. Cài đặt VNC Server
Tương tự như Gnome, một số biến thể VNC có sẵn trong kho Debian. Đối với bài viết này, hãy cài đặt Tiger VNC vì nó an toàn và được bảo trì tích cực.
Cài đặt Tiger VNC bằng cách chạy lệnh sau:
$ sudo apt install tigervnc-common tigervnc-standalone-server
3. Cấu hình
Định cấu hình VNC bằng mật khẩu truy cập cho tài khoản của bạn, sau đó tạo thư mục tệp cấu hình ban đầu bằng cách chạy lệnh sau:
$ vncserver
Nhập mật khẩu mạnh để giữ an toàn cho máy chủ của bạn. Ngoài ra, hãy chọn n
thời điểm được nhắc nhập view-only
mật khẩu vì điều này sẽ hạn chế bạn kiểm soát máy chủ từ xa.
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
Sau khi được cấu hình, đầu ra của bạn sẽ tương tự như bên dưới:
New 'X' desktop is Example:1
Creating default startup script /home/example/.vnc/xstartup Starting applications specified in /home/example/.vnc/xstartup Log file is /home/example/.vnc/Example:1.log
Một thư mục ẩn mới ~/.vnc
được tạo tự động, hãy thiết lập xstartup
tệp cấu hình mới trong thư mục để cấu hình Gnome làm môi trường đồ họa mặc định.
Nhưng trước tiên, hãy dừng phiên bản VNC hiện tại.
$ vncserver -kill :1
Sau đó, sử dụng trình chỉnh sửa yêu thích của bạn, tạo và chỉnh sửa tệp ~/.vnc/xstartup
.
$ nano ~/.vnc/xstartup
Dán các dòng mã sau:
#!/bin/sh
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session
x-terminal-emulator -depth 32 -geometry 1920x1080 -ls -title "$VNCDESKTOP Desktop"
gnome-session
Lưu và đóng tập tin.
Bây giờ, cấp execute
quyền trên tệp cấu hình.
$ chmod +x xstartup
4. Thiết lập VNC như một Dịch vụ Hệ thống
Định cấu hình phiên bản VNC để chạy như một dịch vụ hệ thống để bắt đầu, dừng hoặc khởi động lại nó bằng các công cụ quản lý systemd thay vì chạy thủ công vncserver
trong bảng điều khiển của bạn.
Tạo một tệp dịch vụ mới trong thư mục /etc/systemd/system/
.
$ sudo nano /etc/systemd/system/vnc.service
Dán các dòng mã sau:
[Unit]
Description=Tiger remote desktop service
After=syslog.target network.target
[Service]
Type=simple
User=example
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -geometry 1920x1080 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
Thay thế example
bằng tên người dùng thực của bạn và đặt độ phân giải hiển thị ưa thích của bạn bên cạnh -geometry
mục nhập. Cuối cùng, lưu và đóng tệp.
Khởi động lại daemon Systemd.
$ sudo systemctl daemon-reload
Bây giờ, kích hoạt VNC để bắt đầu lúc khởi động.
$ sudo systemctl enable vncserver@1.service
Đầu ra:
Created symlink /etc/systemd/system/multi-user.target.wants/vnc@1.service → /etc/systemd/system/vnc@.service.
1
đại diện cho số cổng của phiên bản VNC hiện tại của bạn như được hiển thị trong đầu ra cấu hình trước đó.
Tiếp theo, khởi động Dịch vụ VNC.
$ sudo systemctl start vncserver@1
Xác minh rằng VNC đang hoạt động bằng cách truy vấn trạng thái hiện tại.
$ sudo systemctl status vncserver@1
Đầu ra của bạn phải tương tự như bên dưới:
● vnc@1.service - Tiger Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vnc@.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2022-01-12 17:05:52 UTC; 53s ago
Process: 41490 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Process: 41495 ExecStart=/usr/bin/vncserver -geometry 1280x800 -localhost :1 (code=exited, status=0/SUCCESS)
Process: 41728 ExecStop=/usr/bin/vncserver -kill :1 (code=exited, status=0/SUCCESS)
Main PID: 41495 (code=exited, status=0/SUCCESS)
CPU: 26ms
Jan 12 17:05:47 Example systemd[1]: Starting TinyVNC Remote desktop service (VNC)...
Jan 12 17:05:47 Example systemd[41490]: pam_unix(login:session): session opened for user example(uid=1000) by (uid=0)
Jan 12 17:05:48 Example systemd[1]: Started TinyVNC Remote desktop service (VNC).
Jan 12 17:05:48 Example systemd[41495]: pam_unix(login:session): session opened for user example(uid=1000) by (uid=0)
Jan 12 17:05:51 Example systemd[41728]: pam_unix(login:session): session opened for user example(uid=1000) by (uid=0)
Jan 12 17:05:52 Example systemd[1]: vnc@1.service: Succeeded.
5. Kết nối an toàn qua VNC
Theo mặc định, lưu lượng truy cập VNC không được mã hóa, điều này gây ra các rủi ro về bảo mật như dò tìm gói tin. Tuy nhiên, bạn có thể kết nối an toàn với máy chủ của mình qua VNC bằng cách thêm lớp mã hóa SSH vào kết nối.
Tùy thuộc vào hệ điều hành PC cục bộ của bạn, hãy kết nối an toàn với máy chủ Debian 11 của bạn qua VNC bằng cách sử dụng các quy trình sau.
Linux, macOS và các hệ điều hành dựa trên Unix khác
Mở Terminal và tạo đường hầm SSH bằng lệnh sau:
ssh -L 5901:127.0.0.1:5901 -C -N user@your_server_ip
L
chỉ định rằng các kết nối SSH đến cổng máy chủ5901
phải được chuyển tiếp đến máy chủ được chỉ định (127.0.0.1) và cổng.
C
nén tất cả dữ liệu.
N
hướng dẫn SSH chuyển tiếp dữ liệu một cách nghiêm ngặt mà không có lệnh cửa sổ bảng điều khiển.
Kết nối VNC của bạn sẽ được thông qua SSH và có sẵn trên cổng localhost 5901
. Sử dụng phần mềm máy khách VNC của bạn để tạo kết nối 127.0.0.1:5901
và bắt đầu sử dụng màn hình máy chủ Debian 11 từ xa của bạn.
Để có chất lượng hiển thị tốt nhất, hãy thay đổi cài đặt chất lượng hình ảnh VNC Viewer của bạn từ Automatic
thành High
.
Windows
Để tạo đường hầm an toàn cho kết nối VNC của bạn trên Windows, hãy Cài đặt Putty nếu chưa được cài đặt, sau đó thiết lập đường hầm SSH bằng cách điều hướng đến tab Phiên.
Thiết lập kết nối SSH với máy chủ trên cổng 22
, sau đó, trong cửa sổ bảng điều khiển SSH, nhấp chuột phải vào thanh trên cùng và chọn Change Settings
từ danh sách tùy chọn. Trong Connection
phần mở rộng tùy chọn SSH và chọn tunnels
.
Nhập cổng nguồn cục bộ (5901), sau đó nhập địa chỉ máy tính cục bộ của bạn 127.0.0.1
với cổng từ xa VNC 5901
và nhấp Add
để lưu thông tin chuyển tiếp SSH.
Bây giờ, hãy nhấp vào Mở để bắt đầu chuyển tiếp SSH đến cổng localhost. Mở VNC Viewer của bạn và nhập địa chỉ 127.0.0.1:5901
để thiết lập kết nối an toàn với máy chủ. Sau khi kết nối, màn hình nền Debian 11 Gnome của bạn sẽ được hiển thị.
Khắc phục sự cố các lỗi phổ biến
Nếu bạn nhận được lỗi sau sau khi chạy lệnh vncserver
:
(process:64512): dconf-CRITICAL **: 11:01:18.406: unable to create directory '/run/user/0/dconf': Permission denied. dconf will not work properly.
Đăng xuất khỏi tài khoản người dùng hiện tại của bạn, sau đó đăng nhập lại với su – Username
.