SFTP是基于默认的22端口,是ssh内含的协议,只要启动了sshd就可以使用。sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务
本次使用liunx自带的internal-sftp

1、创建用户并设置密码

useradd -s /bin/false sftpuser

passwd sftpuser

2、修改/etc/ssh/sshd_config配置文件

#注释掉下面这行

#Subsystem sftp /usr/libexec/openssh/sftp-server

同时添加以下内容:

Subsystem sftp internal-sftp  #指定使用sftp服务使用系统自带的internal-sftp 
Match user  sftpuser        #匹配用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory  /data/sftp   #设定属于用户组sftp的用户访问的根文件夹如设置    /data/sftp   作为sftpuser        的sftp根目录
ForceCommand internal-sftp #指定sftp命令,强制执行内部sftp,并忽略任何    ~/.ssh/rc文件中的命令
X11Forwarding no   #这两行,如果不希望该用户能使用端口转发的话就加    上,否则删掉
AllowTcpForwarding no

3、关闭selinux

修改/etc/sysconfig/selinux配置文件

将文件中的SELINUX=enforcing 修改为 SELINUX=disabled

然后执行以下命令

setenforce 0  (// 0是关闭,1是开启 )

4、重启sshdfuwu

systemctl restart sshd 或systemctl restart sshd.service        #重启sshd

systemctl status sshd.service                                                #查询sshd启动状态

5、权限赋予

修改sftp-users用户组用户目录权限
因为使用了ChrootDirectory /data/sftp 作为sftpuser的sftp根目录,现在来修改权限
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755
由于/data/sftpuser 是root创建的,权限755,如果sftpuser直接sftp过去是没有权限写入,因此,需要/data/sftp下创建新目录并给与qhlh权限
创建文件夹:

mkdir /data/sftp/wly

权限赋予

chown sftpuser:sftpuser /data/sftp/wly 将目录给用户
chmod 755 /data/sftp/wly  #权限也只能是755,否则无法限制目录

6、测试验证

使用Sftp sftpuser@192.168.31.49或使用filezilla客户端连接到sftp服务器

使用filezilla客户端连接到sftp服务器上传一份文件验证:

7、异常问题:

当原本sftp运行一段时间后突然不行报如下错误

并且服务器也连接不上sftp

工具报错:无法初始化sftp协议,主机是sftp服务器吗?

很大原因是password aged、密码老化、有效期已经失效导致会话失败!
sftp默认密码有效期是30天
解决方案如下:

1、直接用命令修改用户密码有效期:chage -M 99999 username--sftp用户名
2、修改/etc/shadow文件:
3、修改/etc/login.defs文件:
(注:login.defs文件参数只对创建普通用户生效,对root用户无效。shadow文件比login.defs文件优先级要高!)

Linux服务器下搭建SFTP服务相关推荐

  1. linux 6 服务搭建,Linux CentOS6.8搭建sftp服务

    开始搭建sftp服务 第1歩,添加sftp用户并制定根目录: useradd -d  /ygsoft/sftp  -s /bin/bash sftpuser 第2歩,修改密码:执行passwd sft ...

  2. Linux服务器下搭建JDK、Tomcat环境和部署web应用

    1.下载JDK和Tomcat jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-188026 ...

  3. 在IIS服务器下搭建FTP服务

    为了实现文件局域网或远程共享与访问,在IIS服务器手动搭建一个FTP Server共享服务. 基于Windows 11 操作系统. 一.安装FTP服务 打开"控制面板"->双 ...

  4. debian部署mysql和tomcat_【超级详细】在Debian/kali/linux服务器下搭建Tomcat7+mysql+jdk8环境...

    JDK安装 Tomcat安装 MySQL安装 [JDK安装] 1.首先下载一个JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downlo ...

  5. linux服务器下搭建svn服务器仓库

    在已经搭建好svn服务器的前提下,我们进入创建svn仓库环节. 1,创建仓库 语法:svnadmin create 目录(你想将仓库创建的位置目录) 示例:我想在/home下新建demo仓库 cd / ...

  6. Linux 服务器上搭建SVN服务端

    1. 安装 使用yum命令安装svn服务 yum install subversion 安装完成后 检查SVN是否安装成功 svnserve --version 查看SVN安装位置 rpm -ql s ...

  7. window server 下搭建sftp服务器,Freesshd安装及配置

    机房维护的服务器有window和linux,每个月要巡检一个脚本,需要定时上传的一台windows的服务器,windows传windows的已经写好的bat脚本,见前一篇,http://qujunor ...

  8. boa服务器 系统设置,boa服务器在linux系统下搭建

    boa服务器在linux系统下搭建 内容精选 换一换 制作Docker镜像,有以下两种方法.快照方式制作镜像(偶尔制作的镜像):在基础镜像上,比如Ubuntu,先登录镜像系统并安装Docker软件,然 ...

  9. linux(centOS)下搭建node服务器之一、 安装Node.js

    本例系统环境:腾讯云 CentOS 7.4 64位 一.找相应node版本,复制链接 1. 打开网址 http://nodejs.cn/download/; 2. ctrl+shift+i(打开开发者 ...

最新文章

  1. 【Python数据挖掘课程】七.PCA降维操作及subplot子图绘制
  2. 计算机原理寻址方式ppt,计算机原理_3 寻址方式和指令系统.ppt
  3. PHP框架有没有前途?是否适用于复杂的web开发框架
  4. 虚拟环境--virtualenv
  5. Deformable 3D shape registration based on local similarity transforms
  6. 工程与ArcGIS api for javascript不在同一个tomcat情况下跨域问题
  7. 茶 —— 一片树叶的故事(茶叶的品类)
  8. vue框架安装mock
  9. 第三天 二列和三列布局
  10. dojochina的ExtJS视频教程学习笔记(二
  11. JAVA面试技巧之项目介绍
  12. 如何写好一篇博客(文章)
  13. 联想笔记本prtsc不能截图_Win10系统下怎么截屏
  14. 安利一些电子图书下载网站
  15. 编程代码分析-使用winsock搜索蓝牙设备
  16. Android 内部存储和外部存储
  17. 微信小程序语音识别java_微信小程序实现语音识别功能
  18. 数据库的三级模式结构和两级映像
  19. 超分文章记录 SRCNN-FSRCNN-ESPCN-VDCN-DRCN-RDN-LapSRN-SRDenseNet-SRGAN
  20. Windows10:CIFS服务的开启

热门文章

  1. Ubuntu 安装和卸载mysql
  2. createprocess函数的参数说明:
  3. 读书笔记2区块链与大数据
  4. Scalar类-颜色类
  5. 三步跳过wegame登录
  6. 虚拟化技术 — 硬件辅助的虚拟化技术
  7. passw、shadow、group文件详解
  8. vue 项目中使 实现粒子动态 背景图
  9. markdown公式中字母加粗
  10. python控制机器人走直线_python程序控制NAO机器人行走