Linux中國

Syncthing: 一個在計算機之間同步文件/文件夾的私密安全同步工具

安裝

基於本文的目的,我們將使用兩個系統,一個是Ubuntu 14.04 LTS, 一個是Ubuntu 14.10 server。為了簡單辨別這兩個系統,我們將分別稱其為系統1系統2

系統1細節:

  • 操作系統: Ubuntu 14.04 LTS server;
  • 主機名: server1.unixmen.local;
  • IP地址: 192.168.1.150.
  • 系統用戶: sk (你可以使用你自己的系統用戶)
  • 同步文件夾: /home/Sync/ (Syncthing會默認創建)

系統2細節:

  • 操作系統: Ubuntu 14.10 server;
  • 主機名: server.unixmen.local;
  • IP地址: 192.168.1.151.
  • 系統用戶: sk (你可以使用你自己的系統用戶)
  • 同步文件夾: /home/Sync/ (Syncthing會默認創建)

在系統1和系統2上為Syncthing創建用戶

在兩個系統上運行下面的命令來為Syncthing創建用戶以及兩系統間的同步文件夾。

sudo useradd sk
sudo passwd sk

為系統1和系統2安裝Syncthing

在系統1和系統2上遵循以下步驟進行操作。

官方下載頁上下載最新版本。我使用的是64位版本,因此下載64位版的軟體包。

wget https://github.com/syncthing/syncthing/releases/download/v0.10.20/syncthing-linux-amd64-v0.10.20.tar.gz

解壓縮下載的文件:

tar xzvf syncthing-linux-amd64-v0.10.20.tar.gz

切換到解壓縮出來的文件夾:

cd syncthing-linux-amd64-v0.10.20/

複製可執行文件"syncthing"到$PATH

sudo cp syncthing /usr/local/bin/

現在,執行下列命令來首次運行Syncthing:

syncthing

當你執行上述命令後,syncthing會生成一個配置以及一些配置鍵值,並且在你的瀏覽器上打開一個管理界面。

輸入示例:

[monitor] 15:40:27 INFO: Starting syncthing
 15:40:27 INFO: Generating RSA key and certificate for syncthing...
 [BQXVO] 15:40:34 INFO: syncthing v0.10.20 (go1.4 linux-386 default) unknown-user@syncthing-builder 2015-01-13 16:27:47 UTC
 [BQXVO] 15:40:34 INFO: My ID: BQXVO3D-VEBIDRE-MVMMGJI-ECD2PC3-T5LT3JB-OK4Z45E-MPIDWHI-IRW3NAZ
 [BQXVO] 15:40:34 INFO: No config file; starting with empty defaults
 [BQXVO] 15:40:34 INFO: Edit /home/sk/.config/syncthing/config.xml to taste or use the GUI
 [BQXVO] 15:40:34 INFO: Starting web GUI on http://127.0.0.1:8080/
 [BQXVO] 15:40:34 INFO: Loading HTTPS certificate: open /home/sk/.config/syncthing/https-cert.pem: no such file or directory
 [BQXVO] 15:40:34 INFO: Creating new HTTPS certificate
 [BQXVO] 15:40:34 INFO: Generating RSA key and certificate for server1...
 [BQXVO] 15:41:01 INFO: Starting UPnP discovery...
 [BQXVO] 15:41:07 INFO: Starting local discovery announcements
 [BQXVO] 15:41:07 INFO: Starting global discovery announcements
 [BQXVO] 15:41:07 OK: Ready to synchronize default (read-write)
 [BQXVO] 15:41:07 INFO: Device BQXVO3D-VEBIDRE-MVMMGJI-ECD2PC3-T5LT3JB-OK4Z45E-MPIDWHI-IRW3NAZ is "server1" at [dynamic]
 [BQXVO] 15:41:07 INFO: Completed initial scan (rw) of folder default

Syncthing已經被成功地初始化了,網頁管理介面也可以通過瀏覽器訪問URL: http://localhost:8080。如上面輸入所看到的,Syncthing在你的home目錄中的Sync目錄下自動為你創建了一個名為default**的文件夾。

默認情況下,Syncthing的網頁管理界面只能在本地埠(localhost)中進行訪問,要從遠程進行訪問,你需要在兩個系統中進行以下操作:

首先,按下CTRL+C鍵來終止Syncthing初始化進程。現在你回到了終端界面。

編輯config.xml文件,

sudo nano ~/.config/syncthing/config.xml

找到下面的指令:

[...]
<gui enabled="true" tls="false">
 <address>127.0.0.1:8080</address>
 <apikey>-Su9v0lW80JWybGjK9vNK00YDraxXHGP</apikey>
</gui>
[...]

在區域中,把127.0.0.1:8080改為0.0.0.0:8080。結果,你的config.xml看起來會是這樣的:

<gui enabled="true" tls="false">
 <address>0.0.0.0:8080</address>
 <apikey>-Su9v0lW80JWybGjK9vNK00YDraxXHGP</apikey>
</gui>

保存並關閉文件。

在兩個系統上再次執行下述命令:

syncthing

訪問網頁管理界面

現在,在你的瀏覽器上打開http://ip-address:8080/。你會看到下面的界面:

網頁管理界面分為兩個窗格,在左窗格中,你應該可以看到同步的文件夾列表。如前所述,文件夾default在你初始化Syncthing時被自動創建。如果你想同步更多文件夾,點擊Add Folder按鈕。

在右窗格中,你可以看到已連接的設備數。現在這裡只有一個,就是你現在正在操作的計算機。

網頁管理界面上設置Syncthing

為了提高安全性,讓我們啟用TLS,並且設置訪問網頁管理界面的管理員用戶和密碼。要做到這點,點擊右上角的齒輪按鈕,然後選擇Settings

輸入管理員的帳戶名/密碼。我設置的是admin/Ubuntu。你應該使用一些更複雜的密碼。

點擊Save按鈕,現在,你會被要求重啟Syncthing使更改生效。點擊Restart。

刷新你的網頁瀏覽器。你可以看到一個像下面一樣的SSL警告。點擊顯示我了解風險(I understand the Risks)的按鈕。接著,點擊「添加例外(Add Exception)「按鈕把當前頁面添加進瀏覽器的信任列表中。

輸入前面幾步設置的管理員用戶和密碼。我設置的是admin/ubuntu

現在,我們提高了網頁管理界面的安全性。別忘了兩個系統都要執行上面同樣的步驟。

連接到其它伺服器

要在各個系統之間同步文件,你必須各自告訴它們其它伺服器的信息。這是通過交換設備IDs(device IDs)來實現的。你可以通過選擇「齒輪菜單(gear menu)」(在右上角)中的」Show ID(顯示ID)「來找到它。

例如,下面是我系統1的ID.

複製這個ID,然後到另外一個系統(系統2)的網頁管理界面,在右邊窗格點擊Add Device按鈕。

接著會出現下面的界面。在Device區域粘貼系統1 ID 。輸入設備名稱(可選)。在地址區域,你可以輸入其它系統( LCTT 譯註:即粘貼的ID所屬的系統,此應為系統1)的IP地址,或者使用默認值。默認值為dynamic。最後,選擇要同步的文件夾。在我們的例子中,同步文件夾為default

一旦完成了,點擊save按鈕。你會被要求重啟Syncthing。點擊Restart按鈕重啟使更改生效。

現在,我們到系統1的網頁管理界面,你會看到來自系統2的連接和同步請求。點擊Add按鈕。現在,系統2會要求系統1分享和同步名為default的文件夾。

接著重啟系統1的Syncthing服務使更改生效。

等待大概60秒,接著你會看到兩個系統之間已成功連接並同步。

你可以在網頁管理界面中的Add Device區域核實該情況。

添加系統2後,系統1網頁管理界面中的控制窗口如下:

添加系統1後,系統2網頁管理界面中的控制窗口如下:

現在,在任一個系統中的「default」文件夾中放進任意文件或文件夾。你應該可以看到這些文件/文件夾被自動同步到其它系統。

本文完!祝同步愉快!

噢耶!!!

via: http://www.unixmen.com/syncthing-private-secure-tool-sync-filesfolders-computers/

作者:SK 譯者:XLCYun 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國