`
wuyaweiwude
  • 浏览: 121898 次
  • 性别: 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会话的所有操作及输出,便于后续问题排查。
分享到:
评论

相关推荐

    linux 中ssh的安装与使用.doc

    Linux 中 SSH 的安装与使用 Linux 中 SSH 的安装与使用是一种远程登录和文件传输的安全协议,整个过程包括安装、配置和使用三个部分...例如,可以使用 SSH 来管理网络设备,或者使用 SSH 来进行安全监控和日志记录等。

    linux操作系统SSH工具

    5. **会话记录**:SSH支持记录会话日志,便于审计和故障排查。 6. **多窗口支持**:SSH客户端通常支持多个终端窗口同时连接,可以在一个应用程序中管理多个远程服务器。 SSH Secure Shell Client是一款常用的SSH...

    关于linux下的ssh服务配置文件的说明.pdf

    7. **SyslogFacility**: SSH日志记录的位置,默认为`AUTH`,日志信息会被写入`/var/log/auth.log`。 8. **LogLevel**: 控制SSH的日志级别,例如`INFO`级别会记录一般的信息,更高级别如`VERBOSE`会记录更详细的调试...

    linux下ssh配置

    ### Linux 下 SSH 配置详解 #### 一、配置文件详解 在 Linux 系统中,SSH 服务的配置文件通常位于 `/etc/ssh/sshd_config`。此文件包含了 SSH 服务的各项设置,包括但不限于安全性配置、登录权限管理等。 ##### ...

    基于SSH技术的Linux远程控制系统的设计与实现.pdf

    客户端包括SSH登录、SSHCommand执行、系统间信息交互、BASH脚本操控及日志记录等;在Linux服务器端布置SSH连接公钥、状态信息提取及资料FTP传输脚本等。 本系统的设计和实现基于以下几点考虑: 1. Linux操作系统的...

    ssh2向linux发送操作命令,ftp下载linux文件到本地

    SSH2 与 Linux 操作 #### 1.1 SSH2 基本概念 SSH2(Secure Shell Version 2)是一种网络协议,用于计算机之间的安全连接,以及在安全的环境中执行远程命令。它通过加密的数据通道提供了一个安全的环境。 #### 1.2...

    linux-issh内置测试命令的一个花俏替代

    除了基本的测试功能,`is.sh`可能还提供了额外的便利功能,比如错误处理、日志记录等。这些高级特性可以帮助我们编写出更健壮的脚本,尤其是在处理用户输入或执行复杂逻辑时。 在实际开发中,`is.sh`这样的工具可以...

    linux系统日志解析

    在Linux系统中,日志文件是非常重要的组成部分,它们记录了系统的运行状态、应用程序的行为以及各种事件的发生情况。通过对这些日志的分析,可以帮助系统管理员及时发现并解决问题,确保系统的稳定性和安全性。下面...

    Linux 通过rsyslog配置日志服务器

    例如,尝试通过ssh连接到客户端系统,然后回到服务器端查看日志记录文件,确认ssh连接的记录是否已经被正确记录。 总而言之,配置rsyslog作为Linux日志服务器需要对服务器端和客户端进行相应配置。通过编辑rsyslog....

    Linux系统日志文件的打印与存储

    在Linux系统中,日志文件通常存储在/var/log目录下,这里包含了多种类型的日志文件: 1. /var/log/messages:主要记录系统级信息和警告。 2. /var/log/auth.log或/var/log/secure:存储认证和授权相关的事件,如SSH...

    linux ssh putty.zip

    Linux SSH Putty.zip 文件是一个与远程访问Linux服务器相关的压缩包,它包含了一个流行的终端模拟器Putty,用于连接到Linux系统使用SSH(Secure Shell)协议。SSH是一种网络协议,允许用户安全地通过不安全的网络...

    c# SharpSSH执行SSH命令例子

    2. `UpgradeLog.XML` - 可能是升级日志文件,记录了项目或库升级过程的详细信息。 3. `bin` - 存放编译后的可执行文件和库的目录。 4. `_UpgradeReport_Files` - 可能包含升级报告的文件夹,用于查看升级过程中遇到...

    linux-shipit简约的SSH部署

    5. **日志记录**:提供详细的日志输出,便于追踪和调试部署过程中的问题。 6. **自定义脚本**:允许在部署前后运行自定义的脚本,满足特定环境的初始化或清理需求。 7. **错误处理**:遇到问题时,可以自动回滚到...

    PUTTY 串口工具 ssh工具 telnet工具等,win下ssh调试linux的控制台

    通过PUTTY的SSH功能,Windows用户可以在不离开本地桌面的情况下,对Linux系统进行各种管理操作,如系统维护、配置修改和程序调试。 其次,PUTTY也支持telnet协议。虽然telnet协议本身并不提供数据加密,因此安全性...

    linux的所有日志,linux有哪些日志

    7. messages:这是Linux系统的主要日志文件,记录了各种系统级别的事件,包括系统警告、错误和信息,覆盖了广泛的操作系统行为。 8. faillog:这个文件记录了用户登录失败的详细信息,不仅包括登录失败,还包括使用...

    Unix系统用户登录、操作命令日志配置方法-(二)+Linux篇+Korn+Shell.doc

    总之,通过以上方法,你可以在Linux系统中配置Korn Shell,实现用户登录和命令操作的日志记录,从而增强系统的监控和审计能力。这些日志信息对于故障排查、安全分析以及满足合规性要求都非常有价值。

    LinuxLog.rar_ConnectBean.JAVA_linux_日志 分析 系统_日志系统_系统日志

    1. **日志采集**:通过SSH或其他网络协议连接到Linux主机,读取指定的日志文件或标准输出。 2. **日志过滤**:根据关键词、日期或其他条件筛选日志,只保留感兴趣的信息。 3. **日志解析**:将原始日志数据转化为...

    Linux操作系统用户操作审计初探.pdf

    2. **记录存储位置的风险**:历史记录默认存储在用户主目录下,用户可以轻易地修改或删除这些记录,从而掩盖可能的非法操作,降低了审计的有效性。 3. **应用程序交互操作的审计缺失**:对于用户在应用程序内的交互...

Global site tag (gtag.js) - Google Analytics