在Debian系統中啟用SFTP(SSH File Transfer Protocol)通常涉及以下幾個步驟:
安裝SSH服務器: 如果你還沒有安裝SSH服務器,可以使用以下命令來安裝它:
sudo apt update
sudo apt install openssh-server
啟動并啟用SSH服務: 安裝完成后,啟動SSH服務并設置為開機自啟:
sudo systemctl start ssh
sudo systemctl enable ssh
配置SSH以允許SFTP:
默認情況下,SSH服務器已經配置為允許SFTP。你可以通過編輯SSH配置文件 /etc/ssh/sshd_config
來進一步自定義配置。
打開配置文件:
sudo nano /etc/ssh/sshd_config
確保以下行沒有被注釋掉(即沒有以 #
開頭),并且沒有被修改為不允許SFTP:
Subsystem sftp /usr/lib/openssh/sftp-server
你也可以添加或修改以下行來限制用戶只能使用SFTP:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
這段配置的意思是,對于屬于 sftpusers
組的用戶,他們的根目錄將被限制在他們自己的主目錄中,并且只能使用SFTP。
創建一個用戶組并添加用戶: 如果你希望限制某些用戶只能使用SFTP,可以創建一個新的用戶組并將這些用戶添加到該組中:
sudo groupadd sftpusers
sudo usermod -aG sftpusers your_username
將 your_username
替換為你想要限制的用戶名。
設置用戶的主目錄權限: 確保用戶的主目錄權限設置正確,以便SSH可以正確地限制用戶的訪問:
sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username
重啟SSH服務: 保存并關閉配置文件后,重啟SSH服務以應用更改:
sudo systemctl restart ssh
完成以上步驟后,你應該能夠在Debian系統上使用SFTP了。你可以使用SFTP客戶端(如FileZilla)連接到服務器,并使用你在 sftpusers
組中的用戶名進行登錄。