在 CentOS 上安装 X Server 并允许远程访问,可以按照以下步骤进行:
首先,确保系统是最新的,并安装必要的软件包:
sudo yum update -y
sudo yum groupinstall "Server with GUI" "Desktop"
sudo yum install xorg-x11-server-Xorg xorg-x11-server-Xvfb
编辑 /etc/inittab
文件,将默认运行级别设置为 5(图形界面):
sudo vi /etc/inittab
找到以下行并修改:
id:5:initdefault:
保存并退出。
启动 X Server 并设置为开机自启动:
sudo systemctl isolate graphical.target
sudo systemctl enable graphical.target
sudo systemctl start graphical.target
确保防火墙允许 X 服务器的端口(通常是 6000-6063):
sudo firewall-cmd --zone=public --add-service=x11-ssh --permanent
sudo firewall-cmd --reload
安装并配置 VNC 服务器:
sudo yum install tigervnc-server
创建 VNC 配置文件:
sudo vi /etc/systemd/system/vncserver@:1.service
添加以下内容:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=<your_username>
Group=<your_groupname>
WorkingDirectory=/home/<your_username>
PIDFile=/home/<your_username>/.vnc/%H%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
替换 <your_username>
和 <your_groupname>
为你的用户名和组名。
启动并启用 VNC 服务:
sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service
确保 SSH 服务已安装并配置为允许远程访问:
sudo yum install openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
编辑 SSH 配置文件以允许密码认证(可选):
sudo vi /etc/ssh/sshd_config
找到以下行并取消注释:
PasswordAuthentication yes
保存并退出。
重启 SSH 服务:
sudo systemctl restart sshd
现在你可以通过 VNC 客户端(如 RealVNC、TightVNC 等)连接到服务器的 IP 地址和 VNC 端口(例如 192.168.1.100:1
)。
为了提高安全性,建议使用 SSH 密钥对进行身份验证,并禁用密码认证。
安装 OpenSSH 密钥生成工具:
sudo yum install openssl
生成密钥对:
ssh-keygen -t rsa
将公钥复制到 VNC 服务器的 ~/.vnc/authorized_keys
文件中:
cat ~/.ssh/id_rsa.pub | ssh <your_username>@<server_ip> "mkdir -p ~/.vnc && cat >> ~/.vnc/authorized_keys"
这样,你就可以通过 SSH 密钥对安全地访问 VNC 服务器了。