sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。

CentOS自带 SSH 服务,直接配置即可

1. 查看ssh版本

sftp是基于ssh协议的,首先查看ssh版本,openssh-server版本至少得是4.8p1, 因为配置权限需要版本添加的新配置项ChrootDirectory来完成。

[root@iZuf6gglwrfdrwtaluuoe8Z ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips Jan

2. 创建用户和组

[root@iZuf6gglwrfdrwtaluuoe8Z ~]# groupadd sftp 
[root@iZuf6gglwrfdrwtaluuoe8Z ~]# useradd -g sftp -s /sbin/nologin user1

3. 设置目录权限


[root@iZuf6gglwrfdrwtaluuoe8Z ~]# chown root:sftp /home/user1 
[root@iZuf6gglwrfdrwtaluuoe8Z ~]# chmod  -R /home/user1
#设置用户可以上传的目录,改目录下允许用户上传删除修改文件及文件夹 
[root@iZuf6gglwrfdrwtaluuoe8Z ~]# mkdir /home/user1/upload
[root@iZuf6gglwrfdrwtaluuoe8Z ~]# chown -R user1:sftp /home/user1/upload
[root@iZuf6gglwrfdrwtaluuoe8Z ~]# chmod -R 755 /home/user1/upload

4. 修改配置文件sshd_config

vim /etc/ssh/sshd_config

修改为如下:

#注释掉这行
#Subsystem sftp /usr/libexec/openssh/sftp-server #在最后面增加以下6行
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /home/%u #设定属于用户组sftp的用户访问的根文件夹
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no #设置不允许SSH的X转发

5. 重启sshd服务

service sshd restart

或者

systemctl restart sshd

6. 验证sftp服务

MacBook-Pro:downloads$ sftp user1@10.10.10.200
user1@10.10.10.200's password:
Connected to 10.10.10.200.
sftp>ls
upload
sftp>

见到如上字样则证明成功

7. sftp常见命令

远程命令: cd, ls, pwd
本地命令:远程命令前加l , 如 lcd, lls, lpwd

或者

上传命令: put
下载命令:get
退出: bye 或者 exit

centos7.6设置sftp服务的更多相关文章

  1. Linux设置SFTP服务用户目录权限

    我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加.修改.删除操作,并且只能使用sftp登录服务器,不能用ssh操作.这些可以通过配置sftp服务实现. 提供sftp服务 ...

  2. Linux - 设置SFTP服务用户目录权限

    我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加.修改.删除操作,并且只能使用sftp登录服务器,不能用ssh操作.这些可以通过配置sftp服务实现. 创建新用户www ...

  3. Centos7.3安装sftp服务和ssh

    Centos安装SFTP 安装SFTP服务         1. 查看openssh版本             ssh -V             openssh版本必须大于4.8p1       ...

  4. Linux(centos7)设置docker服务开机自启动以及容器自启动

    docker服务开机自启动 systemctl enable docker 设置容器自启动 可以在运行的时候通过设置--restart 参数 docker run --restart always - ...

  5. SSH&SFTP服务分离+家目录锁定

    Step 1 在root用户下创建维护账号的家目录,此处以创建userftp帐号的家目录为例. mkdir -p /chroot/home/user Step 2 在root用户根目录下执行以下命令设 ...

  6. CentOS7搭建SFTP服务

    CentOS7.5环境下搭建SFTP服务. 创建用户组及用户 创建用户组 # groupadd sftpgroup 创建用户 $ useradd -g sftpgroup -s /sbin/nolog ...

  7. CentOS7.6下设置mysql服务开机启动

    在centos7中所有对服务的管理都集中到了systemctl当中,所以服务的启动.关闭.重启.开机启动等等的操作都可以用systemctl. systemctl对服务的管理都是通过配置文件,配置文件 ...

  8. CentOS7设置ssh服务以及端口修改

    很多时候我们都是通过SSH 服务 来对 Linux 进行操作,而不是直接来操作Linux机器,包括对Linux服务器的操作,因此,设置SSH服务对于学习Linux来说属于必备技能(尤其是运维人员),关 ...

  9. linux 上搭建sftp服务

    原文链接:https://www.cnblogs.com/yanduanduan/p/9046723.html sftp和ftp的区别 FTP是一种文件传输协议,一般是为了方便数据共享的.包括一个FT ...

随机推荐

  1. 爬虫基础(五)-----scrapy框架简介

    ---------------------------------------------------摆脱穷人思维 <五> :拓展自己的视野,适当做一些眼前''无用''的事情,防止进入只关 ...

  2. echarts 配置

    堆叠柱状图, 只要保证 stack 属性相同,就强制画成一列 这就是切割线

  3. Python操作Excel 之 openpyxl

    一.基础 安装openpyxl 模块 pip install openpyxl 或者通过轮子安装 font(字体类):字号.字体颜色.下划线等 fill(填充类):颜色等 border(边框类):设置 ...

  4. leanote使用本地账户时,去掉待同步的小红点

    切换开发者工具,如下图,点击左上角的箭头图标,选取元素,直接选择小红点. 然后会看到小红点来自于resources/app/public/themes/default.css文件中2092行: .it ...

  5. 【简】题解 AWSL090429 【市场】

    因为这有个时间的限制 并且  求的时间都是前缀和 那么 我们可以根据时间将排序 因为题中没有修改可以直接用背包预处理出答案 但是因为题目ci mi<=1e9   vi<=300 所以发现不 ...

  6. goroutine的意义与实现

    goroutine的意义与实现 goroutine存在的意义 goroutine是用于实现GO的并发的,而不是并行.此处的并发指的是一套管理.调度.执行goroutine的过程. 并行的性能更高,可以 ...

  7. BeanShell 教程索引帖

    一.BeanShell的基本简介 二.BeanShell环境配置 三.BeanShell语法表达式和常用命令 四.Jmeter-BeanShell使用 五.BeanShell PreProcessor ...

  8. 在vue中关于element UI 中表格实现下载功能,表头添加按钮,和点击事件失效的解决办法。

    因为在element 中表格是使用el-table的形式通过数据来支撑结构,所以,表格的样式没有自己写的灵活,所以有了没法添加按钮的烦恼.下面是解决的方法. 准备工作: 一.下载npm安装包两个 1. ...

  9. GWAS后续分析:LocusZoom图的绘制

    LocusZoom图几乎是GWAS文章的必备图形之一,其主要作用是可以快速可视化GWAS找出来的信号在基因组的具体信息:比如周围有没有高度连锁的位点,高度连锁的位点是否也显著. 下面是locuszoo ...

  10. Exp3 免杀原理与实践

    一.实验过程 1.编码器 (1)使用msf编码器,直接生成meterpreter可执行文件(跟Exp2中生成backdoor.exe的过程一样,生成后门文件),送到Virscan.VirusTotal ...