TW Community

使用 rclone 在 pcloud 上並加密

前言,這裡的用法主要是為了加密備份,以此方法處理過後,之後也要用同樣的方法去下載並解密,才能像一般檔案正常使用,無法像平常直接下載檔案使用。

rclone: 是一個命令列形式的處理雲端檔案的工具,有人說他是雲端的瑞士刀,並且在該頁面也可以看到他支援超過 40 種雲端空間,如常用的 google drive, onedrive, amazon s3 等,也包括我們今天要使用的 pcloud

pcloud: 有提供終生方案以及 zero-knowledge (零知識? - 需要額外加購) 的雲端空間,蠻常特價為 245 (USD/EUR),如有考慮的請自行衡量廠商倒閉的風險。這邊不多介紹 pcloud

以下是如何利用 rclone 去使用 pcloud 並利用 rclone crypt 加密,整體步驟大略是

  1. rclone 設定好雲端空間 (這裡是 pcloud 作為範例)
  2. rclone crypt 設定好加密資訊 (對稱加密),並指定前面設定好的作為加密後的位置。

就是這兩個步驟,第一步驟可以換成任意 rclone 支援的雲端,而第二步驟則是可選,如果不用就是沒有額外加密。

這裡還會再補充 windows 或 pcloud eu 會遇到的問題。

rclone 設定雲端空間

基本上會跟這裡 https://rclone.org/pcloud 一樣,並搭配上 https://rclone.org/remote_setup/ 來處理設定的機器並沒有瀏覽器可以使用

1. rclone config 使用互動式介面來設定
n 建立新的設定黨
2. name> <name>: <name> 是設定檔的名字,rclone 會用這個名字來識別,在 crypt 設定中也需要設定檔的名字

3. Storage> <storage>: <storage> rclone 會列出清單,選擇相對應的即可,這裡我們使用 pcloud
4. Edit advanced config?: 如果 pcloud 是選擇 EU 來存放資料的話,這裡要選擇 y 進入去修改位置
(pcloud EU) advanced config 此項要進去修改成 EU 用的,

5. hostname> <hostname>: <hostname> 這裡使用 2 來指定是 EU,原先不修改的話這裡會是 1 US

6. Use auto config?: auto config 這裡看你設定的機器是否有瀏覽器可以使用,如果有就用 1 ,rclone 會提供相對應的網址打開並認證即可,如果沒有的話要選擇 n) NO,他會請你利用另一台有瀏覽器的機器,使用 rclone authorize "pcloud" 後再把認證資訊貼過來,那在有瀏覽器的機器上流程基本上一樣,rclone 會提供一個連結給你認證,認證完後把 result> 後方的貼回來即可。

可能會遇到的問題

我是在 windows 上遇到 rclone 所給的網址無法順利打開,原因是 port 53862 已經被占住了,所以需要將他讓出來。

rclone 會回報 An attempt was made to access a socket in a way forbidden by its access permissions,或者點選他給的網址都無法顯示,是因為 port 53682 已經被占住了。那可能是因為 Hyper-V 的緣故。可以參照這裡的解決方式 https://stackoverflow.com/questions/15619921/an-attempt-was-made-to-access-a-socket-in-a-way-forbidden-by-its-access-permissi 記得要把 port 改成相對應的 53682 ,用管理員權限開啟 powershell 輸入以下指令,應該就能解決了。

dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

netsh int ipv4 add excludedportrange protocol=tcp startport=53682 numberofports=1

dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

rclone crypt 加密檔案後再上傳

這邊也是根據 https://rclone.org/crypt/ 來寫的步驟

1. rclone config: 一樣使用 rclone config 來進入互動介面來設定
n 建立新設定檔
2. name> <name>: <name> 設定檔的名字

3. storage> crypt使用 crypt 來設定加密
4. remote> <remote_name>:<path>: <remote_name> 是上一步驟或者之前所建立的設定檔名稱﹝也可在 rclone config 所出現的列表確認﹞,<path> 在哪個路徑下要加密,這邊 rclone 也建議說不要使用最上層來當作加密的起點,而是至少弄在第一層底下如 pcloud:folder 等,而這樣也比較好管理,該資料夾底下都用同一種加密方式,而不在該資料夾底下的,可以是未加密,或者用不同組密碼來加密。

5. filename_encryption> 要怎麼加密檔名 (1. 正常加密 2. 多簡單混淆 3. 不加密) Password or pass phrase for encryption. 設定密碼,可以自己設定或者讓 rclone 隨機生成一組,這裡的密碼需要記住,當要再次設定讀取同一個資料夾,要使用 y 並填入一樣的密碼

6. directory_name_encryption> 要怎麼加密資料夾名 (1. 加密  2. 不加密) Password or pass phrase for salt 可以再增加安全性,但這裡如果有設定的話,在 rclone 中也需要記起來,這邊可能會跟一般 salt 的用法不太一樣。(注:跟前面一樣,如果這裡有設定,當要再次設定時,要使用 y 來填入一樣的密碼)

像這裡示範的,password: b1gg...Zngsalt: DjF...DTA 就要記起來,等再次設定去讀取同一個資料夾時,就需要把這兩個也填入進設定檔。

像這裡,當我指定 crypt-test:subfolder/file 就會加密後送至 pcloud:test/subfolder/file ,可以先試著在另外的地方建立設定檔,並測試上傳下載,確保加解密可以正常讀取檔案,要不然等備份好一陣子,當要使用發現有密碼沒記或設定沒弄好,就慘了。

另外,雖然 rclone 不會直接把這兩個密碼明文存下來,但如果在不安全的環境,這樣的安全性並不高,可以在 rclone config 再加上密碼,詳情可見 https://rclone.org/docs/#configuration-encryption

那完成後就可以跟一般使用 rclone 一樣了。

1個讚