必要条件:openssh-server版本至少要4.8p1以上
可用ssh -V来查看版本
说明:限制sftp用户只能sftp使用,不能用于ssh登录,限制用户访问的目录为/stqdfs/下
- 首先创建用户组,专用于sftp登录
groupadd sftpusers
- 创建用户,加入刚刚创建的用户组并设置密码
useradd -s /bin/false -g sftpusers sftp && echo 'admin123' | passwd --stdin sftp
- 修改ssh配置文件,先备份
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.20220715bak
sed -i "s/Subsystem sftp/#Subsystem sftp/" /etc/ssh/sshd_config
echo -e 'Subsystem sftp internal-sftp\nMatch Group sftpusers\nChrootDirectory /stqdfs/\nX11Forwarding no\nForceCommand internal-sftp\nAllowTcpForwarding no' >> /etc/ssh/sshd_config
- 重启ssh服务即可
systemctl restart ssh
- 本次加入的是用户组,也可以限制用户,用如下配置即可
echo -e 'Subsystem sftp internal-sftp\nMatch User sftp\nChrootDirectory /stqdfs/\nX11Forwarding no\nForceCommand internal-sftp\nAllowTcpForwarding no' >> /etc/ssh/sshd_config
- 目录必须为755权限,如果是777权限,sftp登录就会报错,如下图所示