debain sftp 配置

1.创建新用户

#useradd   -m   ems

2.设置用户密码

# passwd   ems

回车后再次输入密码即可

3设置sshd_config

#cd /etc/ssh

#cp sshd_config sshd_config.back <备份>

# vi sshd_config

找到Subsystemsftp这一行,修改成:

 Subsystem sftp internal-sftp
 UsePAM yes
 Match user ems
 ForceCommand internal-sftp
 ChrootDirectory /data/pred/ 
将上面的 test /data/pred/ 替换成你需要的。 
多个用户请重复配置这三行:
Match user ems2
ForceCommand internal-sftp
ChrootDirectory /data/pred2/ 

这样可以为不同的用户设置不同的限制目录

4重新启动ssh服务

#/etc/init.d/ssh restart

显示/etc/ssh/sshd_configline 95: Directive 'DenyUsers' is not allowed within a Match block

打开shd_config文件注释:DenyUserssysadmin secadmin audadmin netadmin

(

同样情况:注释:UsePAMyes

注释:UseDNSno

注释:MaxStartups60

注释:IgnoreUserKnownHostsyes

)


#/etc/init.d/ssh restart


RestartingOpenBSD Secure Shell server: sshd.服务启动成功





5.验证

#sftp   [email protected]

输入test用户密码

(

1、由ChrootDirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root

2、由ChrootDirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限(最大权限755

)

如果违反上面两条要求,那么就会出现新用户访问不了sftp的情况

解决办法:/data/pred/目录下建立777权限的文件夹.

#mkdir/data/pred/user/

# chown -Rems:root /data/pred/user/

这样ems用户就可以在/data/pred/user里随意读写文件了。

(:ems用户ssh登录192.16.0.108会登不上只允许sftp访问)

你可能感兴趣的:(sftp文件配置)