SFTP (安全文件傳輸協議) 利用 ssh (安全外殼協議) 提供加密和身份驗證,保障文件傳輸安全。但 SFTP 本身并不支持 PGP 加密。如需額外加密,可考慮使用 PGP 或 SSH 密鑰。以下介紹兩種 SFTP 文件加密方法:
方法一:使用 GnuPG (GPG) 進行 PGP 加密
-
生成 PGP 密鑰對: 使用 GnuPG 工具生成密鑰對。命令如下:
gpg --gen-key
-
分發公鑰: 將生成的公鑰分享給文件接收者。
gpg --export -a "Your Name" > publickey.asc
-
使用公鑰加密文件: 發送方使用接收方的公鑰加密文件。
gpg --encrypt --recipient "Recipient Name" file.txt
-
通過 SFTP 傳輸加密文件: 使用 SFTP 命令傳輸加密后的文件。
sftp user@host put encrypted_file.txt.gpg
-
使用私鑰解密文件: 接收方使用私鑰解密文件。
gpg --decrypt encrypted_file.txt.gpg > file.txt
方法二:利用 SSH 密鑰增強 SFTP 加密
-
安裝 OpenSSH 服務器: 在服務器上安裝 OpenSSH 服務器。(以 Debian/Ubuntu 為例)
sudo apt-get install openssh-server
-
配置 SSH 服務器: 編輯 SSH 配置文件 /etc/ssh/sshd_config,確保以下配置項存在且正確:
Subsystem sftp /usr/lib/openssh/sftp-server
-
重啟 SSH 服務: 應用配置更改。
sudo systemctl restart ssh
-
使用 SSH 密鑰認證: 在 SFTP 客戶端使用私鑰進行身份驗證,提升安全性。
通過以上方法,您可以有效增強 SFTP 文件傳輸的安全性。 選擇哪種方法取決于您的具體安全需求和技術能力。