在Linux上搭建SFTP服务器的步骤如下:
首先,确保你的系统已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:
# 对于Debian/Ubuntu系统
sudo apt update
sudo apt install openssh-server
# 对于CentOS/RHEL系统
sudo yum install openssh-server
编辑OpenSSH的配置文件 /etc/ssh/sshd_config
,确保以下配置项正确设置:
# 允许SFTP连接
Subsystem sftp /usr/lib/openssh/sftp-server
# 设置SFTP用户目录权限
Match User your_username
ChrootDirectory /home/your_username
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
将 your_username
替换为你要允许SFTP访问的用户名。
为用户创建一个目录,并设置适当的权限:
sudo mkdir /home/your_username
sudo chown your_username:your_username /home/your_username
sudo chmod 755 /home/your_username
启动OpenSSH服务并设置为开机自启动:
# 启动服务
sudo systemctl start sshd
# 设置开机自启动
sudo systemctl enable sshd
使用 sftp
命令测试SFTP连接:
sftp your_username@your_server_ip
如果一切配置正确,你应该能够成功连接到SFTP服务器。
如果你使用的是iptables或ufw防火墙,确保允许SSH连接:
# 允许SSH连接(iptables)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许SSH连接(ufw)
sudo ufw allow ssh
查看OpenSSH服务日志以排查问题:
# 查看SSH日志
sudo tail -f /var/log/auth.log
通过以上步骤,你应该能够在Linux上成功搭建一个基本的SFTP服务器。