`
wuyaweiwude
  • 浏览: 121156 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类

Linux下记录SSH操作日志

阅读更多
使用ssh登录管理主机时,为了方便后续查看操作日志,可将ssh操作时的命令及输出保存到指定的日志文件中。

SSH登录主机时可采用如下命令:
  ssh username@server | tee -a logfile.txt

其中tee命令读取标准输入,把这些内容同时输出到标准输出和(多个)文件中。

如果每次SSH时都这样操作有些繁琐,并且没准哪次就忘了追加记录日志功能。使用如下步骤让本机的ssh程序自动添加日志功能:

1、首先创建存放日志的文件夹并开放读写权限
$ mkdir ~/ssh_logs/
$ sudo chmod -R 777 ~/ssh_logs/

2、将原有ssh程序修改为另外一个名字,然后创建一个执行脚本,脚本中调用原来的ssh程序,只是在调用的时候添加了之前说的tee命令
$ sudo mv /usr/bin/ssh /usr/bin/ssh_ori
$ sudo vi /usr/bin/ssh
新建ssh文件内容如下:  
---------------------------------------------------------------------
#! /bin/sh

mkdir -p ~/ssh_logs

IP=$(echo $1 | grep -oP "((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))")
LOGNAME=${IP}_$(date +"%Y%m%d_%T")
ssh_ori $@ | tee -a ~/ssh_logs/${LOGNAME}.log
---------------------------------------------------------------------
脚本中首先利用正则表达式将访问IP提取出来,然后根据IP和当前时间戳决定日志文件名称,最后调用原有ssh程序(添加tee命令功能)

3、添加执行权限
$ sudo chmod a+x /usr/bin/ssh


    后续使用ssh登录主机进行操作时会将操作及输出写入到对应的日志文件中,日志文件格式为【访问IP_8位日期_时分秒.log】举例:
每次执行【ssh 192.168.1.100 -l user1】 或者 【ssh user1@192.168.1.100】时(不支持使用主机名)会根据当前时间及访问IP生成一个新的日志文件:【192.168.1.100_20130726_17:36:18.log】,文件中保存了此次ssh会话的所有操作及输出,便于后续问题排查。
分享到:
评论

相关推荐

    sshlog:自动将所有ssh输出记录到带有时间戳的目录和文件名

    “ go”是一个小脚本,它将连接到远程主机并记录所有输出 当前,它使用“ ssh”和“ script”实用程序。 它将日志文件放在YYYY / MM / DD目录中,并将文件另存为$ hostname.timestamp。 这使您可以返回过去,查看您...

    在Linux中使用日志来排错

    通常你会诊断为什么问题发生在你的 Linux 系统或应用程序中。错误信息或一系列的事件可以给你提供找出根本原因的线索,说明问题是如何发生的,并指出如何解决它。这里有几个使用日志来解决的样例。  登录失败原因 ...

    企业级Linux服务攻略

    第1章 Linux服务器的搭建与测试 1.1 Linux的安装 1.1.1 Linux简介 1.1.2 Red Hat Enterprise Linux 5新特性介绍 1.1.3 Red Hat Enterprise Linux 5的安装 1.2 常规网络配置 1.2.1 配置主机名 1.2.2 使用ifconfig...

    linux系统漏洞加固

    3.6 检查是否记录用户对设备的操作(低危) 3.7 检查是否配置远程日志功能(低危) 四. 协议安全 4.1 检查是否禁止root用户远程登录(高危) 4.2 检查是否禁止匿名用户登录FTP(高危) 4.3 检查使用IP协议远程...

    Linux下基于用户的虚拟主机的设计与实现

    为了将来系统管理员排错方便,每次建立新用户必须产生一个日志记录。 所有新用户的web空间必须单独放置在一个专用磁盘空间中(即使用Vmware新添加一块磁盘)。 所有新建用户的个人WEB空间每隔一周自动备份,以备不测...

    Linux管理员指南

    目 录 前言 第一部分 安装Linux操作系统 作为服务器软件 第1章 Linux发行版本与Windows NT的 技术异同 1 1.1 Linux操作系统和Linux发行版本 1 1.2 “自由”软件和GNU许可证 1 1.2.1 什么是...

    RED HAT LINUX 6大全

    9.4 日志记录 163 9.5 CGI和SSI 164 9.5.1 CGI 164 9.5.2 SSI 164 9.5.3 基本SSI指令 165 9.5.4 流控制 167 9.6 启动和停止服务器 167 9.6.1 手动启动服务器 167 9.6.2 /etc/rc.d httpd脚本 168 9.7 配置文件清单 ...

    linux操作系统安装后完成的安全加固的配置

    常规系统增强与配置变更 1. 无论服务器有多少个网卡,第一个网卡必须为内网网段(管理网络、内部数据网络、存储网络),并且支持PXE启动,第一个网卡名字eth0 ...7. dns解析,时间同步,日志记录使用内网服务器

    Linux FTP服务配置

    vsftp的含义就是Very Security Ftp,下面就简要的说一下它的配置和使用方法,通过本文的介绍也希望您能了解在Linux下配置一个网络服务的基本过程  1.相关配置文件  /etc/vsftpd.conf,vsftpd.ftpuser,vsftpd.user_...

    SSHHeatmap:生成IP的热图,该热图使SSH登录尝试失败

    SSH热图 生成IP热图,该IP热图使用/var/...使用grep生成一个文本文件,其中包含ssh连接尝试失败的日志记录条目。模式将使用密码和ssh密钥的登录尝试进行匹配。 grep " authentication failure\| Failed password " /v

    Linux系统故障诊断与排除--James Kirkland

    4.2.1 将日志记录到单独磁盘 86 4.2.2 确定文件系统请求的I/O大小 88 4.2.3 用小块I/O传输加载文件系统 88 4.2.4 利用文件系统的关键优势 91 4.2.5 Linux和Windows性能以及调整扇区对齐 92 4.2.6 使用...

    DenyHosts-2.6.tar.gz

    应用于linux系统,DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。 当你的linux服务器暴露在...

    DenyHosts 2.6 安装及配置

    当你的linux服务器暴露在互联网...用DenyHosts可以阻止试图猜测SSH登录口令,它会分析/var/log/secure等日志文件,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。

    服务器系统安全分析报告.doc

    5)监测系统日志通过运行系统日志程序,系统会记录下所有用户使用 系统的情形,包括最近登录时间、使用的账号、进行的活动等。日志 程序会定期生成报表,通过对报表进行分析,你可以知道是否有异常 现象。 6)关闭不需要...

    记一次linux服务器入侵应急响应(小结)

    近日接到客户求助,他们...查看/var/log下的日志,发现大部分日志信息已经被清除,但secure日志没有被破坏,可以看到大量SSH登录失败日志,并存在root用户多次登录失败后成功登录的记录,符合暴力破解特征 通过查看威

    RedGhost:以bash编写Linux后利用框架,旨在帮助红色团队进行持久性,侦察,特权升级,并且一无所获

    使用strace记录ssh进程的击键的功能 Crontab 创建cron作业的功能,该作业可从远程服务器下载有效负载并每分钟运行有效负载以实现持久性 SysTimer 创建systemd计时器的功能,该计时器每30秒下载并执行有效负载以...

    悬镜管家 v3.0 免费版

    软件介绍 悬镜管家Windows端是基于C/S架构,分别为管理端与代理端,管理端适用于Windows 7 x86/x64 、Windows 8 x86/x64、Windows ...日志审计功能中包括了操作日志、监控日志、网络防护日志、应用防护日志四类日志。

    金步国作品全集CHM电子书

    [原创文章]Sysklogd 系统日志记录器 [原创文章]简单、严谨、安全 —— Dcron 简介 [原创文章]深入理解软件包的配置、编译与安装 [原创文章]Glibc Binutils GCC 安装指南 [原创文章]GCC编译优化指南 [原创文章]...

    CentOS7升级OpenSSH8.8p1脚本

    Linux openssh 升级至openssh-8.8p1,详细日志输出记录。测试CentOS7、CentOS8均升级成功。

Global site tag (gtag.js) - Google Analytics