目录导航

开启sftp日志


修改sshd_config

vim /etc/ssh/sshd_config

注释掉Subsystem行,然后写入新Subsystem,信息如下

Subsystem       sftp    internal-sftp -l INFO -f local5
LogLevel INFO

效果如下:

修改syslogs

vim /etc/rsyslog.conf

在最后增加如下配置

auth,authpriv.*,local5.* /var/log/sftp.log

重启服务查看日志

/etc/init.d/rsyslog restart
/etc/init.d/sshd restart
tailf /var/log/sftp.log

限制sftp用户操作目录


前提说明

如果要让sftp用户只能使用规定的目录,则需要再配置文件中开启ChrootDirectory,并限定目录作为sftp用户登录的根目录.

但这里规定的根目录,属主必须是root,文件夹权限只能是755,因此sftp用户对此根目录只有读取权限,需要再在根目录下创建一个属主为改sftp用户的文件夹,用于该用户上传数据

由此规则,可以产生两种sftp方案

1. home目录做根目录

创建用户时,不指定-M参数,默认会在home目录下生产该用户的家目录,用户对该目录具有完全操作权限,且不能访问其他用户的家目录,因此适合作为sftp目录

  • ChrootDirectory写法

    • ChrootDirectory /home/

2. 单独创建目录做根目录

单独创建一个目录做根目录,然后再创建下级的操作目录,此方法需要按要求配置主目录及下级目录的权限和属主等信息

  • 用户

    • 创建用户 加-M参数
  • 主目录
    • 创建主目录 /data/sftp
    • 授权 755
    • 属主 root.root
  • 下级目录
    • 创建下级目录 /data/sftp/test_sftp
    • 授权 755
    • 属主 test_sftp.test_sftp
  • ChrootDirectory写法
    • ChrootDirectory /data/sftp/

方法1实操

  • 创建用户
useradd  test_sftp && echo "123456"|passwd --stdin test_sftp
  • 修改sshd_conf
vim /etc/ssh/sshd_config
# 在最后增加以下关键字
Match User test_sftp
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

重要说明:配置在Match User字段中的用户,会被禁止使用ssh方式登录系统

  • 重启sshd服务
/etc/init.d/sshd restart

方法2实操

  • 创建用户
useradd  test_sftp && echo "123456"|passwd --stdin test_sftp
  • 创建主目录并授权
mkdir -p /data/sftp/
#chown -R root.root /data/sftp/
#chmod 755 /data/sftp/

说明:注释掉的命令默认不用执行,写出来是为了避免乱做其他授权

  • 创建操作目录并操作
mkdir -p /data/sftp/test_sftp
chown -R test_sftp.test_sftp /data/sftp/test_sftp
#chmod 755 /data/sftp/test_sftp

说明:注释掉的命令默认不用执行,写出来是为了避免乱做其他授权

  • 修改sshd_conf
vim /etc/ssh/sshd_config
# 在最后增加以下关键字
Match User test_sftp
ChrootDirectory /data/sftp
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
  • 重启sshd服务
/etc/init.d/sshd restart

开启sftp服务日志并限制sftp访问目录的更多相关文章

  1. centos开启nginx服务成功,却无法访问。没有开启80端口。centos配置防火墙 开启80端口

    Linux配置防火墙 开启80端口 编辑配置文件/etc/sysconfig/iptables [root@weixinht ~]# vim /etc/sysconfig/iptables 1 # F ...

  2. 搭建sftp服务+nginx代理

    在公司,经常会用到sftp服务,比如两个公司对接生产项目,其中一方,要在sftp上上传pdf文件,另一方公司要在sftp服务器上用nginx代理直接下载pdf文件.下面就说说我在实际中应用到的sftp ...

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

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

  4. 【SSH/SFTP】SSH协议和SFTP

    [SSH和SFTP] ■ 设置一个只允许访问部分目录的SFTP服务器 由于SSH和SFTP之间的紧密联系,一个SFTP服务器必然会导致开放一定的SSH服务,而SSH的风险显然比SFTP要大一些.自然, ...

  5. Debian 8开启sftp服务

    看到某云的CDN居然是使用ftp这种早该淘汰的协议,不禁有些吐槽.ftp曾经作为互联网上最重要的协议,但漫长使用过程中体现出的各种缺点,已不适合再使用.其中最致命的问题就是明文传输用户密码.建议使用这 ...

  6. Centos开启telnet/ssh/ftp/sftp服务

    Telnet 开启telnet服务步骤: 1.   查看CentOS/Telnet_server版本:#cat /etc/issue,   #rpm -qa | grep telnet 2.   安装 ...

  7. Ubuntu 16.04开启SFTP服务

    说明:其实只要安装了SSH服务就已经具备了SFTP功能,这个用普通客户端无法连接,只能用支持SFTP协议的客户端才能连接. FileZilla作为FTP客户端,它也可以连接SFTP,SFTP的监听端口 ...

  8. 构建SFTP服务

    ---------------增加sftp-----------------查看openssh的版本# ssh -V使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个 ...

  9. linux 启动ftp服务,sftp服务

    启动ftp服务:yum install vsftpd 在/etc/rc.d/init.d/目录下:命令 service vsftp start启动ssh服务,sftp服务在/etc/init.d/目录 ...

随机推荐

  1. Redis07——Redis到底能用在什么地方(下)

    在前一篇文章中,我们已经介绍过Redis的一些实际应用.如KV缓存.分布式锁.消息队列,由于篇幅原因,并未介绍完全.接下来将继续为各位带来Redis的更多应用. bitmat(位图) 实现 位图的基本 ...

  2. gulp VS grunt

    前公司代码一直用grunt部署, 偶然了解gulp后:学习gulp并用gulp和grunt在一小项目中实践,对两者之间的用法及区别有所了解后总结这一篇小博文:本文根据实战的项目配置文件,简单讲解实现相 ...

  3. Posix线程编程指南(5)

    Posix线程编程指南(5) 杨沙洲 原文地址:http://www.ibm.com/developerworks/cn/linux/thread/posix_threadapi/part5/ 杂项 ...

  4. Qt5小Demo之猜数字游戏

    玩法:设定时间进行猜数字,所猜数字为一个四位数,输入自己的数字,系统会提示是大了还是小了,依据条件逐步逼近正确结果.在规定时间里猜对即获胜,否则即失败. 平台支持:Win10下测试正常. 源码地址: ...

  5. spring Boot登录验证之验证码 邮箱

    一 验证码 登录login.jsp <%@ page contentType="text/html;charset=UTF-8" language="java&qu ...

  6. java-接口(新手)

    //创建的一个包名. package jiekou; //接口方法. //创建一个接口并且起名字. public interface JK { //抽象的返回值.(具体功能未定义,需要自己定义) ab ...

  7. gRPC (1):入门及服务端创建和调用原理

    1. RPC 入门 1.1 RPC 框架原理 RPC 框架的目标就是让远程服务调用更加简单.透明,RPC 框架负责屏蔽底层的传输方式(TCP 或者 UDP).序列化方式(XML/Json/ 二进制)和 ...

  8. mpy开发物联网系列:1.mpy与服务器数据库方案

    ini配置文件与非关系型数据库 在使用micropython开发esp32过程中,经常涉及到一些数据的配置读取,而esp32本身micropython难以安装很多数据库客户端的库,只能基于本地文件使用 ...

  9. python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法

    今天使用pip安装第三库时,有时会报错: pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='file ...

  10. 洛谷1378 油滴扩展 dfs进行回溯搜索

    题目链接:https://www.luogu.com.cn/problem/P1378 题目中给出矩形的长宽和一些点,可以在每个点放油滴,油滴会扩展,直到触碰到矩形的周边或者其他油滴的边缘,求出剩余面 ...