在Linux系统上配置SFTP服务器的步骤如下:
首先,确保系统上已经安装了OpenSSH服务器。可以使用以下命令进行安装:
对于基于Debian的系统(如Ubuntu):
sudo apt update
sudo apt install openssh-server
对于基于RPM的系统(如CentOS、RHEL):
sudo yum install openssh-server
或
sudo dnf install openssh-server
创建一个专门的SFTP用户组,用于管理SFTP用户:
sudo groupadd sftpgroup
创建一个新的SFTP用户,并将其添加到SFTP用户组中。禁用用户的shell登录,以增强安全性:
sudo useradd -g sftpgroup -s /sbin/nologin mysftp
然后为新用户设置密码:
sudo passwd mysftp
创建用户的家目录,并将其设置为用户的根目录(chroot环境):
sudo mkdir -p /home/mysftp
sudo usermod -d /home/mysftp mysftp
设置家目录的权限:
sudo chown root:sftpgroup /home/mysftp
sudo chmod 755 /home/mysftp
为用户创建一个可上传的目录,并设置相应的权限:
sudo mkdir /home/mysftp/upload
sudo chown mysftp:sftpgroup /home/mysftp/upload
sudo chmod 755 /home/mysftp/upload
编辑SSH配置文件 /etc/ssh/sshd_config
,以启用SFTP子系统:
sudo nano /etc/ssh/sshd_config
在文件末尾添加或修改以下内容:
Subsystem sftp internal-sftp
Match Group sftpgroup
ChrootDirectory /home/mysftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
保存并关闭文件。
如果系统启用了SELinux,需要临时关闭它:
sudo setenforce 0
或者编辑 /etc/selinux/config
文件,将 SELINUX
设置为 disabled
,然后重启系统以应用更改。
重启SSH服务以使配置生效:
sudo systemctl restart sshd
使用SFTP客户端连接到服务器,并测试上传和下载功能:
sftp mysftp@localhost
输入密码后,应该能够访问SFTP环境。
确保防火墙允许SFTP使用的端口(默认是22):
sudo ufw allow 22
通过以上步骤,您可以在Linux系统上成功配置SFTP服务器,实现安全的文件传输和管理。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:linux搭建sftp速度怎样