前一陣子曾經介紹過「雲端備份」,由於 duplicity 支援相當多種不同的網路儲存協定,像是 ftp, ssh/scp, rsync, Web‐DAV, WebDAVs, HSi (Hierarchical Storage Interface), Amazon S3 backends 等等。因此除了本機之外,你也很適合把它用在伺服器上,一樣可以用 GnuPG Public key安全的加密備份檔案。
為了能夠使用 GnuPG,你必須把公鑰傳輸到伺服器上。千萬別把個人的 PGP Private keys 傳到伺服器上,萬一機器被黑了,你的 Key 也就不安全而失效了。
假設你的伺服器是 remote.server, 你的 key id 是 DC76FEB9
gpg --export DC76FEB9 | ssh [email protected] gpg --import
這樣就可以把公鑰匯入遠端的伺服器帳號中,但要用 GnuPG 加密,你還需要把信任清單 (ownertrust) 傳過去,讓 GnuPG 了解這把金鑰是受到信賴的。否則你可能會看到以下錯誤訊息
===== Begin GnuPG log ===== gpg: 2983CE0C: There is no assurance this key belongs to the named user gpg: [stdin]: encryption failed: unusable public key ===== End GnuPG log =====
作法是
gpg --export-ownertrust |env grep DC76FEB9|ssh [email protected] gpg --import-ownertrust
這樣就可以用 duplicity 時,直接指定 –encrypt-key DC76FEB9 這樣來將備份檔案直接用該金鑰簽署。