sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装

1.  创建sftp组

创建完成之后使用cat /etc/group命令组的信息

[root@localhost ~]# yum -y install openssh-server   #未安装的先安装ssh
[root@localhost ~]# groupadd sftp
[root@localhost ~]# cat /etc/group | grep sftp
sftp:x:1002:

2. 创建一个sftp用户mysftp并加入到创建的sftp组中,同时修改mysftp用户的密码

[root@localhost ~]# useradd -g sftp -s /bin/false mysftp
[root@localhost ~]# passwd mysftp

3. 新建/data/sftp/mysftp目录,并将它指定为mysftp组用户的home目录

[root@localhost ~]# mkdir -p /data/sftp/mysftp
[root@localhost ~]# usermod -d /data/sftp/mysftp mysftp
[root@localhost ~]# cat /etc/passwd| grep mysftp
mysftp:x:1003:1002::/data/sftp/mysftp:/bin/false

4. 编辑配置文件/etc/ssh/sshd_config,vi /etc/ssh/sshd_config

  将如下这行用#符号注释掉

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

#Subsystem      sftp    /usr/libexec/openssh/sftp-server
port 8088
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

5. 设置Chroot目录权限

[root@localhost ~]# chown root:sftp /data/sftp/mysftp
[root@localhost ~]# chmod 755 /data/sftp/mysftp/

6. 新建一个目录供stp用户mysftp上传文件,这个目录所有者为mysftp所有组为sftp,所有者有写入权限所有组无写入权限

[root@localhost ~]# mkdir /data/sftp/mysftp/upload
[root@localhost ~]# chown mysftp:sftp /data/sftp/mysftp/upload
[root@localhost ~]# chmod 755 /data/sftp/mysftp/upload

7. 关闭selinux并重启sshd服务,然后测试

[root@localhost ~]# setenforce 0  #临时关闭永久关闭修改配置文件/etc/syscofig/selinux
[root@localhost ~]# getenforce #查看状态
Disabled
[root@localhost ~]# systemctl restart sshd.service #重启ssh服务

8. 在其他服务器上进行验证,sftp 用户名@ip地址

[root@localhost ~]# sftp -P=8088 mysftp@192.168.113.128
mysftp@192.168.113.128's password: (之前设置的mysftp账号的密码)
Connected to 192.168.113.128.
sftp> ls
upload

搭建完成,没有vsftp复杂

基于Linux的ssh协议配置sftp的更多相关文章

  1. 菜鸟学SSH(十七)——基于注解的SSH将配置精简到极致

    很早之前就想写一篇关于SSH整合的博客了,但是一直觉得使用SSH的时候那么多的配置文件,严重破坏了我们代码整体性,比如你要看两个实体的关系还得对照*.hbm.xml文件,要屡清一个Action可能需要 ...

  2. linux中ssh可以登录sftp不能登录解决办法

    我的服务器一直正常使用,平时使用secureCRT进行管理,使用secureFX进行文件的上传下载,突然有一天secureFX连接的时候出问题了,secureFX的日志如下: i SecureFX 版 ...

  3. 22、linux的ssh互信配置

    转载:https://blog.csdn.net/hrn1216/article/details/51568830 https://blog.csdn.net/u013144287/article/d ...

  4. 基于Linux平台的Openvas配置使用视频教学

    常见的漏洞扫描工具有Openvas.LSAT.Nessus.X-scan.ShadowSecurityScanner和流光等,openvas是一款最全面的开源漏洞扫描工具,由于openvas安装比较困 ...

  5. 修改Linux中ssh协议中的默认端口号22

    说明:最近的一台服务器老是提示异常登录.主要原因是你的账户和密码可能太简单了,别人用默认的端口22进行登录. 打开SSH端口所在文件 vim /etc/ssh/sshd_config 进入编辑模式,将 ...

  6. Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录

    1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your email@domain.com' -t 指定密钥类型 ...

  7. linux下ssh/sftp配置和权限设置

    基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录). 1.开通 sftp 帐号,使用户只能 sftp 操作文件, 而不能 ssh ...

  8. jsch配置sftp服务器ssh免密登录

    前期对接了一个通过ssh免密登录的需求,是基于原先密码登录sftp服务器的代码上进行改造,实际上代码改动量非常少,趁此机会对自己整理的资料做一下总结. 1. 什么是SFTP SFTP是一个安全文件传送 ...

  9. paramiko:实现ssh协议,对linux服务器资源的访问

    介绍 网络传输是遵循协议的,比如SSH,paramiko则是实现了SSHv2协议的一个python库(底层使用的是cryptography).有了paramiko之后,我们便可以通过python使用s ...

  10. Linux ssh协议

    基础知识 ssh:secure shell protocol,安全的远程登录 作用:是建立在应用层基础上的安全协议,实现数据传输过程中数据的加密,代替telent协议 使用tcp协议,端口号为22 s ...

随机推荐

  1. vue中组件传值的几种方式

    一.父组件给子组件传值方式(步骤) 1.VC1(子组件)定义props[a,b,c] 注意:props中的每个值都可以加各种修饰,如数据类型,是否可为空,默认值... 2.VC2(父组件)引用子组件 ...

  2. unity 阿拉伯数字转中文汉字

    直接调用即可 代码如下: using System; using System.Collections; using System.Collections.Generic; using System. ...

  3. react 二级路由嵌套

    嵌套路由之后,静态文静路径错误, 更改webpack  打包output 输出根目录,publicPath:'/',二级路由刷新之后白屏,在首页模板文件中路径前加   /,

  4. 禁止Edge升级

    管理员命令行运行: 用法:EdgeChromium_Blocker.cmd [<machine name>] [/B][/U][/H] 1.本机禁用更新: EdgeChromium_Blo ...

  5. 使用Libusb和hidapi测试HID设备

    一.测试中断或者Bulk传输: 首先要使用Libusb打印出HID设备的Endpoint查看是否支持中断或者Bulk传输模式:如果支持的话才可以进一步测试: 因为HID设备在插入的时候无需安装,并且一 ...

  6. python生成一个WAV文件的正弦波

    import numpy as np import matplotlib.pyplot as plt T = 1.0 / sample_rate #周期 x = np.arange(0, 1.0, T ...

  7. urllib编码问题踩坑

    今天在使用python的urllib对网页进行爬取的时候,中文一直出现错误 UnicodeEncodeError: 'ascii' codec can't encode character '\u62 ...

  8. python桌面应用自动化,uiautomation模块的Depth和searchDepth心得

    最近在学习yinkaisheng大神写的uiautomation模块,Depth和searchDepth一直使用不好,明明Depth=3,居然可以用searchDepth=1找到,网上也没找到答案,就 ...

  9. 你的ASP.NET Pages项目编译时为何总是很慢慢慢~?

    摘要 很多同学在运行同一个Asp.net Pages项目解决方案时会发现,有时候很快,有时候超级慢,甚至时间超过10几分钟才可以完全编译完,随后才能调试! 其实这都是跟配置有关 有句话说的话,约定  ...

  10. 模型admin 外键的相关操作

    ....@admin.register(MyModel)class MyModelAdmin(admin.ModelAdmin): def method(self, request, queryset ...