使用 rclone 在 pcloud 上並加密

Rclone Aug 24, 2021

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

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 一樣了。

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.