rsync守护进程默认监听873端口,为安全需改用非标准端口(如8730),并同步更新/etc/rsyncd.conf中port参数、重启服务、开放防火墙对应端口、客户端命令中使用--port=8730指定端口。

rsync守护进程默认监听873端口,但出于安全加固考虑,常需更换为非标准端口(如8730、9999等),避免被自动化扫描工具识别和攻击。修改端口本身不复杂,但必须同步更新服务配置、防火墙规则和客户端命令,否则会连接失败。
修改rsync配置文件中的监听端口
rsync daemon模式通过/etc/rsyncd.conf控制监听行为。需在全局配置段(即[global]或文件开头)显式添加port参数:
- 用编辑器打开配置文件:
sudo vim /etc/rsyncd.conf - 在任意模块定义前插入一行:
port = 8730(替换为你选定的安全端口号,建议1024–65535之间且未被占用) - 确保该行不在某个模块块内,否则无效;它属于全局设置
- 保存退出后,重启服务使配置生效
重启服务并验证端口监听状态
修改配置后必须重启rsync服务,且需确认新端口已实际监听:
- 停止当前rsync进程:
sudo systemctl stop rsync或sudo pkill rsync - 启动服务:
sudo systemctl start rsync - 检查监听状态:
sudo ss -tuln | grep ':8730'(将8730替换为你设置的端口) - 若无输出,说明服务未成功绑定——请检查
/var/log/rsyncd.log是否有“bind failed”类错误
开放防火墙对应端口
统信UOS默认使用ufw或iptables管理防火墙。端口变更后必须放行新端口,否则外部无法连接:
- 若使用ufw:
sudo ufw allow 8730/tcp - 若使用iptables:
sudo iptables -A INPUT -p tcp --dport 8730 -j ACCEPT - 永久保存iptables规则(如需):
sudo iptables-save > /etc/iptables/rules.v4 - 建议同时禁用原873端口:
sudo ufw deny 873或从iptables中删除相关规则
客户端同步命令必须指定新端口
服务端改了端口,客户端调用时也必须显式声明,否则仍尝试连873,报“Connection refused”:
- 推送命令示例:
rsync -avz --port=8730 /data/ user@server-ip::module_name - 拉取命令示例:
rsync -avz --port=8730 user@server-ip::module_name /local/path/ -
注意:不是
--port 8730(空格分隔),而是--port=8730(等号连接),否则部分版本不识别 - 如果配合
--password-file使用,端口参数必须放在前面,避免认证失败

















