centos配置sftp

创建用户 sftpuser,并禁止ssh登录,只允许在指定目录下载文件

1.创建sftp用户(只做1,sftp登录后没有做权限控制)
useradd -d /home/sftpuser -s /sbin/nologin sftpuser
echo "userpass" | passwd --stdin sftpuser

2.修改配置/etc/ssh/sshd_config

#注释原配置中此行
# Subsystem     sftp    /usr/libexec/openssh/sftp-server  

#新增下列配置

# 外部子系统
Subsystem sftp internal-sftp
# 条件块
Match Group sftp   #组
Match User sftp     #用户
# 是否进行X11转发
X11Forwarding no
# 是否允许TCP转发
AllowTcpForwarding no
# 指定Chroot认证路径
ChrootDirectory /home/sftp  #路径自定义 %h 代表用户 home 目录,%u 代表用户名
# 强制执行指定命令
ForceCommand internal-sftp

3.设置目录权限(做了1,2不做3,会连接失败)
sftp用户访问目录需要设置所有者和所属组的权限均为root,并设置目录的权限为755
chown root:root /home/sftp/   #不要使用chown -R 
chmod 755 /home/sftp/         #不要使用chmod -R

修改配置过程中可能会遇到以下错误导致ssh重启失败:
Directive 'UseDNS' is not allowed within a Match block

解决方案如下:
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容