在Debian系統下搭建SFTP服務器,通??梢允褂肙penSSH軟件包。以下是詳細的步驟:
首先,確保你的系統是最新的:
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
在文件中找到以下行并進行相應的修改:
允許SFTP用戶登錄:確保以下行沒有被注釋掉并且設置為 yes
:
Subsystem sftp /usr/lib/openssh/sftp-server
限制用戶登錄:如果你只想允許特定用戶通過SFTP登錄,可以添加或修改以下行:
AllowUsers your_username
將 your_username
替換為你想要允許的用戶名。
禁用root登錄(推薦):確保以下行沒有被注釋掉并且設置為 no
:
PermitRootLogin no
設置密碼認證(可選):如果你希望使用密碼認證而不是密鑰認證,可以確保以下行沒有被注釋掉并且設置為 yes
:
PasswordAuthentication yes
保存并關閉文件后,重啟SSH服務以應用更改:
sudo systemctl restart sshd
如果你還沒有創建SFTP用戶,可以使用以下命令創建一個新用戶:
sudo adduser your_username
按照提示輸入用戶的密碼和其他信息。
為了確保SFTP用戶只能訪問其主目錄,可以設置目錄權限:
sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username
然后,為用戶的家目錄設置chroot環境:
sudo nano /etc/ssh/sshd_config
在文件末尾添加以下行:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
創建一個組 sftpusers
并將用戶添加到該組:
sudo groupadd sftpusers
sudo usermod -aG sftpusers your_username
再次重啟SSH服務以應用更改:
sudo systemctl restart sshd
使用SFTP客戶端連接到你的服務器:
sftp your_username@your_server_ip
輸入密碼后,你應該能夠成功登錄并訪問用戶的家目錄。
通過以上步驟,你就可以在Debian系統下成功搭建一個SFTP服務器。