Linux:搭建SFTP服务器

拼搏现实的明天。 2022-05-17 06:55 372阅读 0赞

系统Centos
工具,自带的internal-sftp
1.首先查看openssh版本

  1. ssh -V

这里写图片描述
版本必须大于4.8p1,低于的这个版本需要升级。

2.创建sftp组

  1. groupadd bmssftp

3.创建sftp用户

  1. useradd -g bmssftp -s /bin/false bmssftp //用户名
  2. passwd bmssftp123 //密码

4.将sftp组的用户home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个bmssftp目录,然后指定bmssftp的home为/data/sftp/bmssftp。

  1. mkdir -p /data/sftp/bmssftp
  2. usermod -d /data/sftp/bmssftp bmssftp

5.配置sshd_config

  1. vim /etc/ssh/sshd_config

注释掉Subsystem sftp /usr/libexec/openssh/sftp-server 这句话
并且在文件末尾添加如下语句

  1. Subsystem sftp internal-sftp
  2. Match Group mysftpg
  3. ChrootDirectory /data/sftp/%u
  4. ForceCommand internal-sftp
  5. AllowTcpForwarding no
  6. X11Forwarding no

我这里把data该成了data2,
这里写图片描述

6.设定权限

  1. chown root:bmssftp /data/sftp/bmssftp
  2. chmod 755 /data/sftp/bmssftp

7.现在其实已经可以通过bmssftp账号密码登入了,但是在bmssftp文件夹中还不能上传文件,所以需要新建一个文件夹来供bmssftp用户上传文件。

  1. mkdir /data/sftp/bmssftp/upload
  2. chown bmssftp:bmssftp /data/sftp/bmssftp/upload
  3. chmod 755 /data/sftp/bmssftp/upload

8.编辑/etc/selinux/config

  1. vim /etc/selinux/config

将文件中的SELINUX=enforcing 修改为 SELINUX=disabled ,
然后保存并执行

  1. setenforce 0

9.重启sshd服务
输入命令重启服务。

  1. service sshd restart

然后就可以尝试因Xftp,Winscp等工具登入了,如下,在upload同目录下应该是无法上传修改文件的,在upload文件夹里就可以了。
这里写图片描述

发表评论

表情:
评论列表 (有 0 条评论,372人围观)

还没有评论,来说两句吧...

相关阅读

    相关 UbuntuSFtp

    需求:在服务器上开通SFTP文件服务,允许某些用户上传及下载文件。但是这些用户只能使用SFTP传输文件,不能使用SSH终端访问服务器,并且SFTP不能访问系统文件(即所谓的“J