环境依赖:openssh-server >=4.8 //ssh -V 查看
安装环境: centos6,centos7
1.创建用户组 sftp
groupadd sftp
2.创建登录用户
useradd -G sftp -s /sbin/nologin test //禁止用户ssh登录
passwd test
3.修改ssh登录配置文件
vim /etc/ssh/sshd_config
将下面这行注释
# Subsystem sftp /usr/libexec/openssh/sftp-server
在末尾加入以下配置:
Match Group sftp //匹配sftp用户组中的用户
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h //只能访问默认的用户目录
ForceCommand internal-sftp
注意:centos6 需将这一行 # Subsystem sftp /usr/libexec/openssh/sftp-server 改为 Subsystem sftp internal-sftp
4.配置目录权限
chown root.sftp /home/test
chgrp -R sftp /home/test
chmod 755 /home/test
配置用户可以修改的目录
mkdir /home/test/upload
chown -R test:sftp /home/test/upload
客户端登录sftp: sftp sftpuser@192.168.182.172
a、成功登陆sftp后,输入命令”help”,可以查看到sftp所有支持的命令
b、sftp常用命令使用介绍
ls // 查看远程sftp服务器下当前目录下的文件和目录
lls // 查看本机当前目录下的文件和目录
cd // 切换远程sftp服务器的路径
lcd // 切换本机路劲
pwd // 查看远程sftp服务器的当前路径
lpwd // 查看本机的当前路径
put // 上传本机文件到远程sftp服务器
get // 下载远程sftp服务器中的文件到本机
!command // 在本机执行’!’号后面的命令
exit/quit // 退出
参考文章
https://www.cnblogs.com/imcati/p/11378678.html
https://www.cnblogs.com/huangyanqi/p/11304257.html
https://www.jianshu.com/p/f3a9a00dbd7c