欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

debain sftp 配置

程序员文章站 2022-06-01 10:29:58
...

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]92.16.0.108

输入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访问)