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/
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive