开启SFTP(SSH File Transfer Protocol)服务在Linux系统上是一项比较简单的任务,以下是详细的步骤:
sudo apt-get install openssh-server # 对于Debian/Ubuntu
sudo yum install openssh-server # 对于CentOS/RHEL
/etc/ssh/sshd_config,确保以下配置项被添加或者取消注释:Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
上面的配置项中,Subsystem sftp internal-sftp 表示使用内置的SFTP子系统,Match Group sftp 表示将指定的用户组(比如sftp)限制为使用SFTP服务,ChrootDirectory %h 表示将用户限制在其家目录下,ForceCommand internal-sftp 表示强制使用内置的SFTP子系统。
sudo groupadd sftp
sudo useradd -g sftp -s /sbin/nologin -d /home/sftpuser sftpuser
sudo passwd sftpuser
上面的命令中,groupadd 创建了名为sftp的用户组,useradd 创建了一个名为sftpuser的用户,将其添加到sftp用户组中。-s /sbin/nologin 表示禁止该用户登录系统,-d /home/sftpuser 表示指定用户的家目录为/home/sftpuser。passwd 命令用于设置该用户的密码。
sudo systemctl restart sshd # 对于systemd系统
sudo service sshd restart # 对于SysVinit系统
完成以上步骤后,SFTP服务就已经在Linux系统上开启并配置好了。用户可以使用SFTP客户端工具连接到服务器,并进行文件传输操作。