在linux系统中部署syncthing需依次完成:一、下载安装二进制文件并验证;二、首次运行生成配置与密钥;三、修改config.xml使web界面监听0.0.0.0:8384并开放防火墙;四、配置pbkdf2加密的登录认证;五、创建systemd服务实现开机自启与自动恢复。

如果您希望在Linux系统中部署Syncthing以实现跨设备文件同步,则需完成安装、配置与设备配对等关键步骤。以下是解决此问题的步骤:
一、下载并安装Syncthing二进制文件
Syncthing不依赖系统包管理器分发,官方推荐直接下载预编译的Linux二进制包,确保版本一致且避免兼容性问题。该方式适用于所有主流Linux发行版,包括Ubuntu、Debian、CentOS、RHEL及国产UOS/Deepin系统。
1、使用curl命令获取最新稳定版下载链接并下载:
curl -s https://api.github.com/repos/syncthing/syncthing/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -
2、解压下载的压缩包:
tar -xzf syncthing-linux-amd64-*.tar.gz
3、将syncthing可执行文件复制至系统路径:
sudo mv syncthing-linux-amd64-*/syncthing /usr/local/bin/
4、验证安装是否成功:
syncthing --version
二、首次运行并生成基础配置
首次启动Syncthing会自动生成默认配置目录与密钥对,这是后续远程访问和设备识别的前提。该过程无需图形界面,纯命令行即可完成。
1、执行启动命令(仅初始化,不长期运行):
syncthing
2、观察终端输出,确认出现类似以下两行信息:
GUI and API listening on 127.0.0.1:8384
My ID: ABCD-EFGH-IJKL-MNOP-QRST-UVWX-YZ12-3456
3、按Ctrl + C终止进程,此时配置已保存至~/.config/syncthing/目录
4、检查配置目录是否存在:
ls ~/.config/syncthing/
三、配置Web管理界面远程可访问
默认监听地址为127.0.0.1:8384,仅限本机访问;若需从其他设备(如手机、另一台电脑)管理Syncthing,必须修改为0.0.0.0:8384,并开放对应防火墙端口。
1、编辑配置文件:
vi ~/.config/syncthing/config.xml
2、查找包含
127.0.0.1:8384的行(位于3、将其替换为:
4、保存退出后,重启Syncthing使配置生效:
syncthing
5、在其他设备浏览器中输入http://[本机IP]:8384,即可访问Web管理界面
四、设置Web界面登录认证
暴露Web界面至局域网或公网时,未设密码将导致配置被任意篡改,存在严重安全风险。必须启用用户名与密码验证机制。
1、再次打开config.xml文件:
vi ~/.config/syncthing/config.xml
2、在
3、密码字段须使用PBKDF2哈希格式;可借助在线工具或运行命令生成:
echo -n 'your_password' | syncthing generate -password
4、保存配置并重启Syncthing服务
5、刷新浏览器页面,将弹出身份验证窗口,输入admin与设定密码即可登录
五、配置系统服务实现开机自启
手动运行Syncthing无法保障服务持续性,尤其在服务器环境中需以systemd服务方式运行,确保崩溃自动恢复、开机即启、日志统一管理。
1、创建专用系统用户(增强安全性):
sudo useradd -r -m -d /var/syncthing syncthing
2、生成独立配置目录:
sudo -u syncthing syncthing generate --home=/var/syncthing
3、创建systemd服务单元文件:
sudo vi /etc/systemd/system/syncthing.service
4、填入以下内容:
[Unit]
Description=Syncthing
After=network.target
[Service]
User=syncthing
Group=syncthing
ExecStart=/usr/local/bin/syncthing serve --home=/var/syncthing
Restart=on-failure
[Install]
WantedBy=multi-user.target
5、启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable --now syncthing
6、确认服务状态:
sudo systemctl status syncthing










