在CentOS服务器上开放远程桌面可以方便运维,但默认RDP若未加密会让账号与屏幕内容在链路上明文传输。使用xrdp配合TLS加密能够将RDP会话包裹在加密通道中,有效防止数据泄露。

一、安装xrdp与桌面环境
CentOS默认没有图形界面与RDP服务,需要先安装。以GNOME为例:
# 安装桌面环境(若已安装可跳过) yum groupinstall -y "GNOME Desktop" # 安装xrdp与依赖 yum install -y epel-release yum install -y xrdp tigervnc-server # 启动并开机自启 systemctl enable xrdp systemctl start xrdp
二、生成TLS证书用于加密
xrdp支持使用PEM证书对RDP连接加密。我们可以用自签证书快速搭建加密通道:
# 生成私钥与证书,有效期365天 openssl req -x509 -newkey rsa:2048 -nodes -keyout /etc/xrdp/key.pem -out /etc/xrdp/cert.pem -days 365 -subj "/CN=centos-rdp" # 设置权限 chmod 600 /etc/xrdp/key.pem chmod 644 /etc/xrdp/cert.pem
三、配置xrdp启用加密
编辑/etc/xrdp/xrdp.ini,在[Globals]段指定证书路径并开启TLS安全层:
[Globals] port=3389 security_layer=tls certificate=/etc/xrdp/cert.pem key_file=/etc/xrdp/key.pem
修改后重启服务使配置生效:
systemctl restart xrdp
四、防火墙与客户端连接
确保3389端口可通,且只允许可信网段访问:
firewall-cmd --permanent --add-port=3389/tcp firewall-cmd --reload
Windows客户端使用远程桌面连接,输入服务器IP,会提示证书未知,确认指纹一致后继续即可建立加密会话。若想更强保护,可结合VPN或SSH隧道再叠加一层。
五、常见注意点
- 自签证书需客户端手动信任,生产环境建议用受信CA签发。
- 证书过期前需续签并更新配置,避免服务无法启动。
- 不要用弱密码,加密只保护传输,不补 credential 短板。
加密RDP解决的是链路窃听问题,服务器本身的账号策略与补丁仍需正常运维。