当前位置:首页 > 其他 > 正文内容

debian/ubuntu/centos7系统安装syncthing文件同步软件教程

23vps2年前 (2022-09-16)其他954

实验系统:debian10/ubuntu/CentOS7 64位


阿里云限量代金券 | 此广告位出租25元/月

用putty或者其他ssh工具连上服务器,然后用wget命令下载Syncthing的Linux 64位版,版本号对应官网上的最新版,请自行选择:

wget https://github.com/syncthing/syncthing/releases/download/v1.22.2/syncthing-linux-amd64-v1.22.2.tar.gz

现在可以把下载到的文件解压,然后进入解压后的目录:

tar zxvf syncthing-linux-amd64-v1.22.2.tar.gz
cd syncthing-linux-amd64-v1.22.2

有个可执行文件syncthing,我们要把它放到我们的PATH中,以便直接执行:

cp syncthing /usr/local/bin

返回上一级目录:

cd ..

到这里我们在VPS上的Syncthing已经安装好了,可是直接运行的话,并不能通过外网访问到管理页面,因为Syncthing的管理页面默认是只有本机可以访问的,所以接下来还要进行一点修改,先运行Syncthing:

syncthing

随后就会看到有很多信息,和之前在Windows运行一样,看到类似以下内容的时候就可以按CTRL-C退出程序了:

[OH4IP] 13:32:15 INFO: Completed initial scan (rw) of folder edatb-zzc5f
[OH4IP] 13:32:15 INFO: Device OH4IPQD-QDCDAZB-YMMZE4F-BAK4BLQ-3EZLPTD-V73J37V-LTW44V6-YSM6JQ7 is "ruter.ga" at [dynamic]
[OH4IP] 13:32:15 INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file or directory
[OH4IP] 13:32:15 INFO: Creating new HTTPS certificate
[OH4IP] 13:32:15 INFO: GUI and API listening on 127.0.0.1:8384
[OH4IP] 13:32:15 INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
[OH4IP] 13:32:16 INFO: Detected 0 NAT devices

我们第一次运行是为了让它创建配置文件,然后我们再进行修改。用以下命令对配置文件进行编辑(centos建议用vi命令):

nano ~/.config/syncthing/config.xml

一瞬间是不是懵逼了?不要慌,先找到下面这几行:

<gui enabled="true" tls="false" debugging="false">
    <address>127.0.0.1:8384</address>
    <apikey>2GeGJK9z6tXKP3nHJYU56ZHoYSYnqQ9S</apikey>
    <theme>default</theme>
</gui>

然后把IP127.0.0.1修改成0.0.0.0即可保存退出:

<gui enabled="true" tls="false" debugging="false">
    <address>0.0.0.0:8384</address>
    <apikey>2GeGJK9z6tXKP3nHJYU56ZHoYSYnqQ9S</apikey>
    <theme>default</theme>
</gui>

设置好之后执行syncthing运行,就可以通过http://your_ip_addr:8384来进行访问管理了,如果直接通过外网ip:端口访问还是无法打开管理页面,那就需要进行防火墙的设置开启8384端口了(不懂防火墙设置的也可以借用第三方VPS管理软件设置如宝塔、appnode):

其实主机哥我不会使用命令,命令是我的弱项,我这里就不班门弄斧了,自行去百度搜索方法

再次打开http://your_ip_addr:8384就能看见管理页面了

可以很明显地看到一条警告信息,提醒我们设置管理用户及密码,点击「设置」,然后把「用户名」和「密码」填写好,「使用加密连接到图形管理页面」这个是开启HTTPS,按需勾选


执行syncthing报错提示WARNING: Failed to initialize config: failed to generate default config: get free port (GUI): listen tcp 127.0.0.1:0: bind: cannot assign requested address的解决办法:

是因为没有生成默认的配置文件导致的,手动创建配置文件:

nano ~/.config/syncthing/config.xml

复制黏贴以下内容

<configuration version="30">
    <gui enabled="true" tls="false">
        <address>127.0.0.1:8384</address>
        <apikey>自己设置的API KEY</apikey>
        <theme>default</theme>
        <user>somename</user>
        <password>a password</password>
    </gui>
    <options>
        <listenAddress>[::]:22000</listenAddress>
        <globalAnnounceServer>announce.syncthing.net:22025</globalAnnounceServer>
        <localAnnounceEnabled>true</localAnnounceEnabled>
        <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
        <minHomeDiskFree unit="GiB">5</minHomeDiskFree>
    </options>
</configuration>

注意:请将以上内容中的"自己设置的API KEY"、"somename"和"a password"替换为您自己设置的值。注意passwd是采用了 bcrypt 算法进行加密,并且设置了 10 作为 cost 参数生成的哈希值。

主机哥搞了个php代码可以生成syncthing专用的密码哈希值

<?php
$password = "mypassword";  // 指定密码

$options = [
    'cost' => 10,           // 设置 cost 参数为 10
];

// 使用 password_hash() 函数生成哈希值
$hash = password_hash($password, PASSWORD_BCRYPT, $options);

echo $hash;  // 输出生成的哈希值
?>

保存为mm.php

然后执行下面命令就可以看到密码哈希值了

php -f mm.php

如果你觉得麻烦可以使用主机的在线生成网址:https://sh.23vps.com/syncthing-config-gui-passwd-hash.php

最后登录进去时会提示监听地址错误,进设置修改一下就好了,还有就是自己设置的API这里可以在设置-常规里点一下生成,磁盘最低可用值改为1%就好了。最后为了安全,在设置-图形用户界面那里点一下使用加密连接到图形管理页面,保存后刷新一下页面就成了https链接了。


开机启动官方提供了两种方法:Supervisord和systemd

开机自动启动官方文档:https://docs.syncthing.net/users/autostart.html

主机哥采用systemd的方式

找到解压目录etc/linux-systemd/system/syncthing@.service这个文件,改名为syncthing@root.service,root是你希望使用的用户

cd etc/linux-systemd/system
mv syncthing@.service syncthing@root.service

将syncthing@root.service里的ExecStart这行路径修改成实际路径和运行命令,我发现官方给的ExecStart路径里少了个local路径,所以要修改为/usr/local/bin

vi syncthing@root.service   #centos
nano syncthing@root.service  #debian

复制文件到/etc/systemd/system/中

cp syncthing@root.service /etc/systemd/system

重新加载配置文件

systemctl daemon-reload

管理命令

#设置开机启动
systemctl enable syncthing@root.service
#取消开机启动
systemctl disable syncthing@root.service
#启动服务
systemctl start syncthing@root.service
#停止服务
systemctl stop syncthing@root.service
#查看状态
systemctl status syncthing@root.service


进阶:

让linux软件后台运行的简单方法:https://diannaobos.com/post/254.html

在服务器上使用Syncthing可以修改配置文件后使用外网进行访问管理,本地端也可以如法炮制,如果没有外网IP则需要使用FRP之类的进行映射,具体操作请移步FRP内网穿透工具:https://diannaobos.com/frp/


注意:

如果提示下图信息:

只需要执行下面这个命令,让syncthing可读写

chmod 777 /usr/local/bin/syncthing


扩展:

以上只是简单的安装和设置步骤,还有很多内容没有涉及到,例如开机启动、忽略同步内容、命令行操作等等,具体请查看官方文档,里面有非常详尽的教程。

官方文档:https://docs.syncthing.net/index.html

命令行操作:https://docs.syncthing.net/users/syncthing.html

windows版教程:https://23vps.com/post/41.html

本网站由提供服务

扫描二维码推送至手机访问。

版权声明:本文由主机测评网发布,如需转载请注明出处。

本文链接:https://23vps.com/post/42.html

标签: 文件同步
分享给朋友:

“debian/ubuntu/centos7系统安装syncthing文件同步软件教程” 的相关文章

Windows系统镜像下载网站

提到原版的Windows系统,各位老司机熟知的都是MSDN,但是这个网址里只能下载到Win10 1909以前的系统,后面的系统都要在新网站下载而且还得登录。而且这个对新手很不友好,当我发给装机小白的时候,他们都看不懂该选哪个。再给大家推荐一个下载Windows系统的地方,网址:https://hel...

curl和wget忽略证书错误教程

curl和wget是我们常用的Linux下载测试工具如果遇到下载报错可以按下面方法操作如果是curl ssl证书错误其实只要在url地址后面加上 -k,就可以忽略证书校验了(不验证证书)。具体就是这样操作:curl  'https://下载地址' -k如...

强大无数据库图床2.0PHP程序

强大无数据库图床2.0PHP程序

项目地址:https://github.com/icret/EasyImages2.0 始于2018年7月,支持多文件上传,简单无数据库,返回图片url,markdown,bbscode,html的一款图床程序 演示地址:https://png.cm/ 之前一直用的图床程序是:PHP多图长...

syncthing文件同步软件

syncthing文件同步软件

这是一款可以满足办公、文件共享、团队协作、家庭存储等文件同步需求的开源软件,不依赖中心服务器,完全由自己掌握数据,安全可靠。Syncthing是免费且开源的,而且跨平台支持windows、mac、linux、android等主流平台,除了PC、手机以外,在部分路由器、树莓派等硬件上都能轻松运行,听说...

网络测压小工具webBenchmark

这是一个HTTP基准测试工具,可以用来耗尽服务器带宽或流量限额。特点:每个请求都有随机的 User-Agent可自定义请求参数中的 Referer并发线程取决于您的服务器性能。项目地址:https://github.com/maintell/webBenchmark/ 起源这个起源于MJJ论坛刷“剑...