开启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客户端工具连接到服务器,并进行文件传输操作。