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文件夹里就可以了。
这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章