在Debian系統上配置SFTP以增強安全性,可以遵循以下步驟:
安裝OpenSSH服務器:
sudo apt-get update
sudo apt-get install openssh-server
配置SSH服務:
編輯 /etc/ssh/sshd_config
文件:
sudo nano /etc/ssh/sshd_config
確保以下配置項被設置或取消注釋(移除行首的#
):
Subsystem sftp /usr/lib/openssh/sftp-server
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp
這里,Match Group sftp_users
表示僅對屬于 sftp_users
組的用戶應用上述規則。ChrootDirectory %h
限制用戶只能訪問其家目錄(%h
是用戶家目錄的路徑)。ForceCommand internal-sftp
強制用戶只能使用SFTP命令。
創建SFTP用戶組:
sudo groupadd sftp_users
添加用戶到SFTP用戶組:
創建新用戶并添加到 sftp_users
組:
sudo useradd -m -G sftp_users username
設置用戶密碼:
sudo chpasswd
配置用戶家目錄和權限:
為每個用戶創建家目錄并設置正確的所有權:
sudo mkdir /home/username/upload
sudo chown username:username /home/username/upload
設置目錄權限,允許用戶寫入:
sudo chmod 755 /home/username/upload
重啟SSH服務:
sudo systemctl restart sshd
防火墻配置(如果使用 ufw
):
允許SSH和SFTP端口(默認為22):
sudo ufw allow 22
測試SFTP連接:
通過以上步驟,可以有效地增強Debian系統上SFTP的安全性,確保用戶只能在其家目錄內進行文件操作,并且所有傳輸都是加密的。此外,禁用root用戶的SSH遠程登錄和配置SSH密鑰對認證也是提高系統安全性的重要措施。