在Ubuntu上啟用SFTP的SSL加密,可以按照以下步驟進行操作:
安裝OpenSSH服務器: 如果你還沒有安裝OpenSSH服務器,可以使用以下命令進行安裝:
sudo apt update
sudo apt install openssh-server
生成SSL證書和密鑰:
你可以使用openssl
工具來生成自簽名的SSL證書和密鑰。運行以下命令:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssh/ssh_host_rsa_key -out /etc/ssh/ssh_host_rsa_key.pub
這將生成一個有效期為365天的自簽名證書。
配置SSH以使用SSL:
編輯SSH配置文件/etc/ssh/sshd_config
,確保以下行沒有被注釋掉,并且配置正確:
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
PubkeyAuthentication yes
PasswordAuthentication yes
AllowUsers your_username # 替換為你的用戶名
保存并關閉文件。
重啟SSH服務: 重啟SSH服務以應用更改:
sudo systemctl restart sshd
客戶端連接: 使用支持SSL的SFTP客戶端連接到服務器,例如FileZilla或WinSCP。在連接設置中,選擇SSL/TLS選項,并指定證書路徑(如果需要)。
安裝Certbot:
sudo apt update
sudo apt install certbot python3-certbot-ssh
獲取證書: 運行以下命令來獲取Let’s Encrypt證書:
sudo certbot --ssh -d your_domain.com
按照提示完成證書的獲取和安裝。
配置SSH以使用證書:
Certbot會自動更新/etc/ssh/sshd_config
文件,添加必要的配置。確保以下行存在并且沒有被注釋掉:
HostKey /etc/ssh/ssh_host_rsa_key
PubkeyAuthentication yes
PasswordAuthentication yes
AllowUsers your_username # 替換為你的用戶名
重啟SSH服務:
sudo systemctl restart sshd
客戶端連接: 使用支持SSL的SFTP客戶端連接到服務器,選擇SSL/TLS選項,并指定證書路徑(如果需要)。
通過以上步驟,你可以在Ubuntu上啟用SFTP的SSL加密,確保數據傳輸的安全性。