当前位置: 首页 > news >正文

Centos7搭建sftp服务器,开启SFTP上报日志

需求:192.168.56.103服务器搭建sftp服务,配置sftp上报日志(类似vsftpd的/var/log/xferlog)

1、创建用户组sftpgroup,添加用户sftpuser(密码为123456,不可登录,上传目录为upload)

useradd  -g sftpgroup -s /bin/false sftpuser
echo '123456' | passwd --stdin sftpuser
chown root:root  /home/sftpuser/
mkdir -p  /home/sftpuser/upload
chmod 755 -R  /home/sftpuser/
chown sftpuser:  /home/sftpuser/upload

PS:ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root,注意配置权限

2、修改ssh相关配置文件

先把/etc/ssh/sshd_config的Subsystem那一行注释掉

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

并执行下面,添加内容

PS:Match Group sftpgroup此行sftpgroup按需修改

cat >> /etc/ssh/sshd_config <<EOF
Subsystem sftp internal-sftp -l INFO -f local5
Match Group sftpgroup
chrootDirectory %h
ForceCommand internal-sftp -l INFO -f local5
X11Forwarding no
AllowTcpForwarding no
EOF


3、修改rsyslog配置文件(日志路径:/var/log/sftp.log)

cp /etc/rsyslog.conf /etc/rsyslog.conf.bak_$(date "+%Y%m%d%H%M%S")
cat >> /etc/rsyslog.conf <<EOF
auth,authpriv.*,local5.*                               /var/log/sftp.log
EOF

4、重启ssh、rsyslog服务

service sshd restart
service rsyslog restart

5、192.168.56.1测试sftp并上传文件

 4、192.168.56.103查看sftp日志

附一键执行脚本

[ -z $(grep -w sftpgroup /etc/group) ];[ $? -eq 0 ]&& groupadd sftpgroup
useradd  -g sftpgroup -s /bin/false sftpuser
echo '123456' | passwd --stdin sftpuser
chown root:root  /home/sftpuser/
mkdir -p  /home/sftpuser/upload
chmod 755 -R  /home/sftpuser/
chown sftpuser:  /home/sftpuser/upload

[[ -n $(grep ^Subsystem /etc/ssh/sshd_config |grep /usr/libexec/openssh/sftp-server) ]];[ $? -eq 0 ]&&cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak_$(date "+%Y%m%d%H%M%S")&&sed -i 's/Subsystem/#Subsystem/'  /etc/ssh/sshd_config

cat >> /etc/ssh/sshd_config <<EOF
Subsystem sftp internal-sftp -l INFO -f local5
Match Group sftpgroup
chrootDirectory %h
ForceCommand internal-sftp -l INFO -f local5
X11Forwarding no
AllowTcpForwarding no
EOF

cp /etc/rsyslog.conf /etc/rsyslog.conf.bak_$(date "+%Y%m%d%H%M%S")
cat >> /etc/rsyslog.conf <<EOF
auth,authpriv.*,local5.*                               /var/log/sftp.log
EOF

service sshd restart
service rsyslog restart

相关文章:

  • 模式识别课程混合式教学设计
  • 基于云原生的视频管理系统设计与实现
  • AOP的使用(详细讲解)
  • DES加密算法安全吗,有哪些优点和缺点?
  • AI智能分析网关包含哪些深度学习算法?如何赋能场景应用?
  • JavaEE图书管理项目
  • SpringBoot Web开发----Thymeleaf的简单入门
  • Object Detection in 20 Years: A Survey
  • 出现次数最多的数字和次数
  • 多账号自动下单
  • opencv调整图像亮度和对比度,以及opencv种的做法
  • django之静态文件配置 请求方式 request对象方法 pycharm连接数据库 django连接MySQL 初识ORM
  • 自动控制原理6.3---串联校正
  • Windows下Jenkins的运行环境由Java8 升级为Java11
  • Linux中用户组管理
  • Apache Pulsar 2.1 重磅发布
  • canvas绘制圆角头像
  • fetch 从初识到应用
  • JAVA 学习IO流
  • mac修复ab及siege安装
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 经典排序算法及其 Java 实现
  • 聊聊hikari连接池的leakDetectionThreshold
  • 十年未变!安全,谁之责?(下)
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 写给高年级小学生看的《Bash 指南》
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • gunicorn工作原理
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (02)Hive SQL编译成MapReduce任务的过程
  • (06)金属布线——为半导体注入生命的连接
  • (4) PIVOT 和 UPIVOT 的使用
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (WSI分类)WSI分类文献小综述 2024
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (三)c52学习之旅-点亮LED灯
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)memcache、redis缓存
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 服务 ServiceController
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .net和php怎么连接,php和apache之间如何连接
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递