rockylinux 9 部署vnc 服务
vmvare 虚拟机需要开启vnc 连接如果是物理服务器就不需要了1、安装vnc server[rootvnc-server ~]# dnf install -y tigervnc-server [rootvnc-server ~]# systemctl disable firewalld --now [rootvnc-server ~]# setenforce 0 [rootvnc-server ~]# sed -i.bak s|SELINUXenforcing|SELINUXdisabled| /etc/selinux/config2、vnc server的配置2.1、创建用户创建一个用户 guest 然后设置密码[rootvnc-server ~]# useradd guest [rootvnc-server ~]# passwd guest2.2、为guest 用户设置vnc密码[rootvnc-server ~]# su - guest [guestvnc-server ~]$ vncpasswd Password: 输入密码 Verify: 确认密码 Would you like to enter a view-only password (y/n)? n #这里选择n A view-only password is not used2.3、配置用户映射编辑/etc/tigervnc/vncserver.users ,将guest 用户映射到一个显示标志 2编号可以自己定义在尾行加一行内容如下如果为多个用户分配VNC 则需要添加多行2.4、配置用户自己的vnc环境vnc server 配置文件优先级从低到高排序如下(1) TigerVNC 内置默认值 编译时或在代码中写死的默认参数(2) /etc/tigervnc/vncserver-config-defaults: 全局的默认配置会覆盖内置默认值但是可以被用户配置和强制配置覆盖(3) 用户个人配置 位置在~/.config/tigervnc/config(推荐)用户配置会覆盖全局默认值但会被全局强制配置覆盖4/etc/tigervnc/vncserver-config-mandatory 全局强制配置拥有最高优先级会覆盖所有的用户和全局默认值创建一个~/.config/tigervnc/config 文件配置用户自己的vnc[guestvnc-server ~]$ cat ~/.config/tigervnc/config securitytypesvncauth,tlsvnc geometry2000x1200 #localhost 不接受来自其他主机的直接连接如果是需要其他主机连接则可以注释掉 localhost alwaysshared配置项说明1securitytypesvncauth,tlsvnc表示允许客户端使用以下两种安全认证类型vncauth传统的 VNC 密码认证。密码通过 vncpasswd 设置保存在 ~/.vnc/passwd。它本身不加密传输数据所以如果直接暴露在网络上不安全通常要配合 SSH 隧道使用。tlsvnc使用 TLS 加密通道同时仍然使用 VNC 密码认证。比 vncauth 更安全因为传输过程被 TLS 加密。TigerVNC 可能会使用自签名证书客户端第一次连接时可能提示证书不受信任。这两个类型用逗号分隔表示服务器愿意接受其中任意一种具体用哪个由客户端和服务器协商决定2geometry2000x1200分辨率 宽2000 像素 高1200 像素3localhost VNC 服务器只监听本机回环地址 127.0.0.1不接受来自其他主机的直接连接。效果是远程客户端不能直接连接 服务器IP:5901必须通过 SSH 隧道访问例如ssh -L 5901:localhost:5901 guest服务器IP然后 VNC Viewer 连接 localhost:5901。这样做更安全因为 VNC 端口不会直接暴露在网络上。4alwaysshared允许多个 VNC 客户端同时连接到同一个 VNC 会话共享同一个桌面默认情况下TigerVNC 通常不允许共享新客户端连接时可能会断开已有连接或者拒绝新连接。加上 alwaysshared 后多个客户端可以同时看到并操作同一个桌面适合多人协作或同一用户从多台 设备连接2.5、启动vncserver2.service服务[guestvnc-server ~]$ systemctl daemon-reload [guestvnc-server ~]$ systemctl enable vncserver:2.service [guestvnc-server ~]$ systemctl start vncserver:2.service3、VNC Viewer 连接因为在guest用户的家目录vnc config 中配置了 localhost,所以直接走 SSH 隧道是最安全。在本地电脑运行vnc viewer的主机上远程连接上vnc-server,连接需要保持C:\Users\adminssh -L 5902:localhost:5902 guest192.168.10.150打开 vnc viewer,输入以下内容然后点击 connect 即可