網路環境充滿竊聽與竄改風險。Ubuntu 內建 OpenSSH 提供加密通道,但檔案落地後仍為明文。結合 GnuPG (GPG) 非對稱加密與 Nautilus 圖形介面,可實現「端到端」檔案級加密,確保唯有持有私鑰者能解密。
openssh-client、openssh-serversudo apt-get update
sudo apt-get install seahorse seahorse-plugins seahorse-nautilus
登出重新登入後,Nautilus 右鍵選單將出現「加密」與「簽署」選項。
產生:公開金鑰(可外傳)與私鑰(嚴禁外洩,受護鑰密碼保護)。
# Host1 匯出公開金鑰
gpg --armor --export "Your Name" > mypubkey.asc
# 透過 SCP 傳送
scp mypubkey.asc user@Host2:~/
# Host2 匯入
gpg --import mypubkey.asc
# 或使用 Seahorse GUI:檔案 → 匯入
驗證指紋:gpg --fingerprint "Your Name" 核對雙方顯示一致,防範中間人攻擊。
Nautilus 右鍵檔案 → 加密 → 選擇 Host1 的公開金鑰 → 確定 → 產生 .pgp 副檔名加密檔。
或命令列:
gpg --encrypt --recipient "Host1 User" --armor secret.txt
# 產生 secret.txt.asc
scp secret.txt.pgp user@Host1:~/
Nautilus 右鍵 .pgp 檔 → 「使用解密檔案開啟」 → 輸入護鑰密碼 → 還原原始檔案。
命令列:
gpg --decrypt secret.txt.pgp > secret.txt
gpg --sign --armor file 產生 .asc,證明來源完整性。gpg --verify file.asc 檢查簽名有效性。gpg --encrypt --sign --recipient "Bob" file 同時保障機密性與不可否認性。#!/bin/bash
# encrypt_backup.sh - 每日備份加密上傳
TARGET="backup-$(date +%F).tar.gz"
tar -czf - /home/user/data | gpg --encrypt --recipient "Offsite Server" --output "/tmp/$TARGET"
scp "/tmp/$TARGET" backup@offsite:/backups/
rm "/tmp/$TARGET"
透過 GPG 非對稱加密與 Seahorse/Nautilus 圖形整合,Ubuntu 使用者無需深諳密碼學即可落實檔案級加密傳輸。關鍵在於:妥善保管私鑰與護鑰密碼、定期驗證金鑰指紋、建立金鑰撤銷憑證以備遺失。將加密納入日常作業流程,才能真正守護資料機密性。