Linux:搭建SFTP服务器
系统Centos
工具,自带的internal-sftp
1.首先查看openssh版本
ssh -V
版本必须大于4.8p1,低于的这个版本需要升级。
2.创建sftp组
groupadd bmssftp
3.创建sftp用户
useradd -g bmssftp -s /bin/false bmssftp //用户名
passwd bmssftp123 //密码
4.将sftp组的用户home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个bmssftp目录,然后指定bmssftp的home为/data/sftp/bmssftp。
mkdir -p /data/sftp/bmssftp
usermod -d /data/sftp/bmssftp bmssftp
5.配置sshd_config
vim /etc/ssh/sshd_config
注释掉Subsystem sftp /usr/libexec/openssh/sftp-server
这句话
并且在文件末尾添加如下语句
Subsystem sftp internal-sftp
Match Group mysftpg
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
我这里把data该成了data2,
6.设定权限
chown root:bmssftp /data/sftp/bmssftp
chmod 755 /data/sftp/bmssftp
7.现在其实已经可以通过bmssftp账号密码登入了,但是在bmssftp文件夹中还不能上传文件,所以需要新建一个文件夹来供bmssftp用户上传文件。
mkdir /data/sftp/bmssftp/upload
chown bmssftp:bmssftp /data/sftp/bmssftp/upload
chmod 755 /data/sftp/bmssftp/upload
8.编辑/etc/selinux/config
vim /etc/selinux/config
将文件中的SELINUX=enforcing 修改为 SELINUX=disabled ,
然后保存并执行
setenforce 0
9.重启sshd服务
输入命令重启服务。
service sshd restart
然后就可以尝试因Xftp,Winscp等工具登入了,如下,在upload同目录下应该是无法上传修改文件的,在upload文件夹里就可以了。
还没有评论,来说两句吧...