1、创建用户组、用户、设置密码
2、创建sftp根目录(root用户下创建)
创建此目录作为根目录:/home/sftp/uploads
3、编辑sftp文件
vim /etc/ssh/sshd_config
末尾添加(注意,添加部分一定要放在末尾,否则重启sshd报错):
UseDNS no ##不使用dns反向解析 Subsystem sftp internal-sftp ##指定使用sftp服务使用系统自带的internal-sftp Match Group sftp ##匹配sftp组的用户,如果要匹配多个组,多个组之间用逗号分割 ChrootDirectory /home/sftp/uploads/ ##sftp主目录指定到/home/sftp/uploads/ ForceCommand internal-sftp ##指定sftp命令 AllowTcpForwarding no ##用户不能使用端口转发 X11Forwarding no ##用户不能使用端口转发
可以通过sshd -t测试配置文件是否正确,无任何输入则正确
4、设置主目录权限
chown root:sftp /home/sftp/uploads/ //文件夹所有者必须为root,用户组可以不是root chmod 755 /home/sftp
5、重启sshd
systemctl restart sshd
6、登录sftp
sftp sftp1@ip地址
此时,登录进来的用户只有查看主目录及其子目录的权限,不能删除、上传、下载和重命名文件
7、为sftp1创建文件夹
mkdir /home/sftp/uploads/test1 chown sftp1:sftp /home/sftp/uploads/test1 chmod 755 /home/sftp/uploads/test1
8、重启sshd
9、登录
登录进入sshd执行ls命令查看当前目录下的文件,可以看到一个test1文件夹,cd进入test1文件夹才可以上传本地文件到test1文件夹下或者从test1文件夹下载文件到本地。
10、使用FileZilla工具进行连接测试
协议选择 SSH File Transfer Protocol
点击连接按钮,连接成功如下所示
相关内容: