在Debian系统下搭建SFTP服务器,通常可以使用OpenSSH软件包。以下是详细的步骤:
首先,确保你的系统是最新的:
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服务器。