您好,欢迎访问沃航(武汉)科技有限公司官方网站
如何设置openssh-server的sftp服务限制访问目录以及禁止登录
2026-02-06 04:48:24

最新项目中想使用ftp,但是ftp没有被加密,因此考虑使用sftp。但是使用sftp,又需要限制用户仅仅访问特定目录,百度了下,发现通过openssh-server的Match可以匹配用户,ChrootDirectory可以限制访问目录。

这里记录下操作方式

1、创建个特定用户,并设置密码

这里假设创建的用户名为sftpuser

useradd -m sftpuser
passwd sftpuser

2、修改目录所有者与权限(很重要)

chown root:root /home/sftpuser
chmod 0755 /home/sftpuser

3、创建配置文件

创建用户的配置文件/etc/ssh/sshd_config.d/sftpuser.conf

内容为:

Match User sftpuser
    ChrootDirectory /home/sftpuser # 限制访问目录,该目录必须是属于root,权限必须是0755
    ForceCommand internal-sftp     # 只支持sftp指令
    X11Forwarding no               # 禁止X11转发
    AllowTcpForwarding no          # 禁止Tcp转发
    PermitTTY no                   # 禁止TTY登录
    AllowAgentForwarding no        # 禁用代理转发
    AllowStreamLocalForwarding no  # 禁用流本地转发
    PermitUserRC no                # 禁用用户RC文件

4、其他优化

修改全局配置文件/etc/ssh/sshd_config

Subsystem      sftp    /usr/lib/openssh/sftp-server

改为

Subsystem sftp internal-sftp

说是internal-sftp比/usr/lib/openssh/sftp-server的性能更好,更省内存。


文章作者:沃航科技

联系我们
地址:
武汉市洪山区蓝晶国际7栋903
QQ:
932773931
电话:
027-59761089-806
手机:
13397158231
邮箱:
jevian_ma@worldflying.cn
×
物联网组态平台
试用账号:123456
试用密码:123456
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn
×
积木编程平台
试用方式:试用手机号码注册即可使用
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn