在Debian上安全配置SFTP(SSH File Transfer Protocol)涉及多個步驟,以確保文件傳輸的安全性和系統的穩定性。以下是一個詳細的指南:
首先,確保你的Debian系統是最新的:
sudo apt update && sudo apt upgrade -y
如果你還沒有安裝OpenSSH服務器,可以使用以下命令進行安裝:
sudo apt install openssh-server -y
編輯SSH配置文件 /etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
找到并修改以下行,禁止root用戶通過SSH登錄:
PermitRootLogin no
確保以下行沒有被注釋掉:
Subsystem sftp /usr/lib/openssh/sftp-server
為了進一步提高安全性,可以配置Chroot Jail,限制SFTP用戶的根目錄。
創建一個組用于SFTP用戶:
sudo groupadd sftpusers
創建一個目錄用于SFTP用戶的根目錄,并設置權限:
sudo mkdir /home/sftpusers
sudo chown root:root /home/sftpusers
sudo chmod 755 /home/sftpusers
創建一個SFTP用戶并將其添加到sftpusers組:
sudo adduser --shell /bin/false --gecos "SFTP User" sftpuser
sudo usermod -aG sftpusers sftpuser
修改SFTP用戶的家目錄權限:
sudo chown root:sftpusers /home/sftpuser
sudo chmod 755 /home/sftpuser
在 /etc/ssh/sshd_config
中添加以下配置:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
保存并關閉配置文件后,重啟SSH服務以應用更改:
sudo systemctl restart sshd
確保防火墻允許SSH連接。如果你使用的是ufw
,可以運行以下命令:
sudo ufw allow OpenSSH
sudo ufw enable
使用SFTP客戶端(如FileZilla)連接到你的服務器,確保一切配置正確。
定期檢查SSH和SFTP日志文件以監控任何可疑活動:
sudo tail -f /var/log/auth.log
通過以上步驟,你可以在Debian上安全地配置SFTP,確保文件傳輸的安全性和系統的穩定性。