Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Ubuntu 系統檔案加密傳輸實戰:GPG 金鑰管理與 Nautilus 圖形化操作

編輯:Linux 教學

前言:資料傳輸加密的必要性

網路環境充滿竊聽與竄改風險。Ubuntu 內建 OpenSSH 提供加密通道,但檔案落地後仍為明文。結合 GnuPG (GPG) 非對稱加密與 Nautilus 圖形介面,可實現「端到端」檔案級加密,確保唯有持有私鑰者能解密。

環境準備

  • 兩部 Ubuntu 9.10+ 系統(Host1、Host2)
  • 已安裝 openssh-client、openssh-server
  • 同帳號/密碼方便示範(實務建議使用金鑰認證)

步驟 1:安裝 Seahorse 圖形化金鑰管理外掛

sudo apt-get update
sudo apt-get install seahorse seahorse-plugins seahorse-nautilus

登出重新登入後,Nautilus 右鍵選單將出現「加密」與「簽署」選項。

步驟 2:於 Host1 建立 PGP 金鑰對

  1. 啟動「密碼和加密金鑰」→ 檔案 → 新建 → PGP 金鑰
  2. 填寫姓名、Email、註釋
  3. 選擇加密演算法(預設 RSA 3072 bits)與有效期限
  4. 設定強力護鑰密碼(Passphrase),完成建立

產生:公開金鑰(可外傳)與私鑰(嚴禁外洩,受護鑰密碼保護)。

步驟 3:公開金鑰分發至 Host2

# 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" 核對雙方顯示一致,防範中間人攻擊。

步驟 4:Host2 使用 Host1 公開金鑰加密檔案

Nautilus 右鍵檔案 → 加密 → 選擇 Host1 的公開金鑰 → 確定 → 產生 .pgp 副檔名加密檔。

或命令列:

gpg --encrypt --recipient "Host1 User" --armor secret.txt
# 產生 secret.txt.asc

步驟 5:傳送加密檔至 Host1

scp secret.txt.pgp user@Host1:~/

步驟 6: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 使用者無需深諳密碼學即可落實檔案級加密傳輸。關鍵在於:妥善保管私鑰與護鑰密碼、定期驗證金鑰指紋、建立金鑰撤銷憑證以備遺失。將加密納入日常作業流程,才能真正守護資料機密性。

Copyright © Windows教程網 All Rights Reserved