linux下怎么查看ssh的用户登录日志

linux下登录日志在下面的目录里: 
cd /var/log 
查看ssh用户的登录日志: 
less secure 
linux日志管理:

1. 日志简介

日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。

在Linux系统中,有三个主要的日志子系统:

连接时间日志--由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和 utmp文件,使系统管理员能够跟踪谁在何时登录到系统。进程统计--由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。

错误日志--由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。 常用的日志文件如下:

access-log 纪录HTTP/web的传输

acct/pacct 纪录用户命令

aculog 纪录MODEM的活动

btmp 纪录失败的纪录

lastlog 纪录最近几次成功登录的事件和最后一次不成功的登录

messages 从syslog中记录信息(有的链接到syslog文件)

sudolog 纪录使用sudo发出的命令

sulog 纪录使用su命令的使用

syslog 从syslog中记录信息(通常链接到messages文件)

utmp 纪录当前登录的每个用户

wtmp 一个用户每次登录进入和退出时间的永久纪录

xferlog 纪录FTP会话

utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键--保持用户登录进入和退出的纪录。有关当前登录用户的信息记录在文件utmp中;登录进入和退出纪录在文件wtmp中;最后一次登录文件可以用lastlog命令察看。数据交换、关机和重起也记录在wtmp文件中。所有的纪录都包含时间戳。这些文件(lastlog通常不大)在具有大量用户的系统中增长十分迅速。例如wtmp文件可以无限增长,除非定期截取。许多系统以一天或者一周为单位把wtmp配置成循环使用。它通常由cron运行的脚本来修改。这些脚本重新命名并循环使用wtmp文件。通常,wtmp在第一天结束后命名为wtmp.1;第二天后wtmp.1变为wtmp.2等等,直到wtmp. 7。

每次有一个用户登录时,login程序在文件lastlog中察看用户的UID。如果找到了,则把用户上次登录、退出时间和主机名写到标准输出中,然后login程序在lastlog中纪录新的登录时间。在新的lastlog纪录写入后,utmp文件打开并插入用户的utmp纪录。该纪录一直用到用户登录退出时删除。utmp文件被各种命令文件使用,包括who、w、users和finger。

下一步,login程序打开文件wtmp附加用户的utmp纪录。当用户登录退出时,具有更新时间戳的同一utmp纪录附加到文件中。wtmp文件被程序last和ac使用。

2. 具体命令

wtmp和utmp文件都是二进制文件,他们不能被诸如tail命令剪贴或合并(使用cat命令)。用户需要使用who、w、users、last和ac来使用这两个文件包含的信息。

who:who命令查询utmp文件并报告当前登录的每个用户。Who的缺省输出包括用户名、终端类型、登录日期及远程主机。例如:who(回车)显示

chyang pts/o Aug 18 15:06

ynguo pts/2 Aug 18 15:32

ynguo pts/3 Aug 18 13:55

lewis pts/4 Aug 18 13:35

ynguo pts/7 Aug 18 14:12

ylou pts/8 Aug 18 14:15

如果指明了wtmp文件名,则who命令查询所有以前的纪录。命令who /var/log/wtmp把报告自从wtmp文件创建或删改以来的每一次登录。

w:w命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息。例如:w(回车)显示:3:36pm up 1 day, 22:34, 6 users, load average: 0.23, 0.29, 0.27

USER TTY FROM [email protected] IDLE JCPU PCPU WHAT

chyang pts/0 202.38.68.242 3:06pm 2:04 0.08s 0.04s -bash

ynguo pts/2 202.38.79.47 3:32pm 0.00s 0.14s 0.05 w

lewis pts/3 202.38.64.233 1:55pm 30:39 0.27s 0.22s -bash

lewis pts/4 202.38.64.233 1:35pm 6.00s 4.03s 0.01s sh/home/users/

ynguo pts/7 simba.nic.ustc.e 2:12pm 0.00s 0.47s 0.24s telnet mail

ylou pts/8 202.38.64.235 2:15pm 1:09m 0.10s 0.04s -bash

users:users用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名把显示相同的次数。例如:users(回车)显示:chyang lewis lewis ylou ynguo ynguo

last:last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户。例如:

chyang pts/9 202.38.68.242 Tue Aug 1 08:34 - 11:23 (02:49)

cfan pts/6 202.38.64.224 Tue Aug 1 08:33 - 08:48 (00:14)

chyang pts/4 202.38.68.242 Tue Aug 1 08:32 - 12:13 (03:40)

lewis pts/3 202.38.64.233 Tue Aug 1 08:06 - 11:09 (03:03)

lewis pts/2 202.38.64.233 Tue Aug 1 07:56 - 11:09 (03:12)

linux查看日志: 
# cd /var/log 
# less secure 
或者 
# less messages 
最近登录的日志: 
# last

时间: 2024-10-12 17:36:56

linux下怎么查看ssh的用户登录日志的相关文章

Linux Shell 脚本限制ssh最大用户登录数

我撰写本文原来的意图是想把"复制SSH渠道"和"copy SSH Session"这样的功能从远程ssh客户端中剔除掉.因此想到可以在SSH服务端设置一下,但查阅了sshd_config的man手册,发现里面的看起来限制ssh连接数量的参数(MaxSessions ,ClientAliveCountMax等)在复制SSH渠道中并不好用,即一个远程ssh客户端可以通过这种方式几乎无限制的建立ssh会话,未免让人觉得"不爽". 例如,我正在做一件事情

linux下如何查看所有的用户和组信息?

/etc/group  文件是用户组的配置文件. /etc/passwd 文件是用户的配置文件. 使用cat.more.less.head.tail以及vim等命令都可以查看.修改这两个配置文件. 说明: /etc/passwd的文件内容格式:注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序 .以root用户为例.root是用户注册名,X表示密码保存在/etc/shadow,用户ID为0,所在用户组ID为0,用户名是root,home目录为/root,解释程序/bin/bas

[fw]linux 下如何查看和踢除正在登陆的其它用户

linux 下如何查看和踢除正在登陆的其它用户 Posted on 2011/09/01 如何在linux下查看当前登录的用户,并且踢掉你认为应该踢掉的用户?请使用who这个命令来查看当前正在登录的用户 [[email protected] http]# whoroot tty1 Apr 9 13:17http pts/0 Apr 16 15:13 (192.168.8.235)http pts/1 Apr 16 15:13 (192.168.8.235) 注意:可能有朋友马上要叫出来了:“什么

Linux下ftp和ssh详解

学习了几天Linux下ftp和ssh的搭建和使用,故记录一下.学习ftp和ssh的主要目的是为了连接远程主机,并且进行文件传输.废话不多说,直接开讲! ftp服务器 1. 环境搭建 本人的系统是Archlinux,我是基于vsftpd来搭建的,首先需要安装它: pacman -S vsftpd 接着对其配置文件进行编辑,打开/etc/vsftpd.conf(也可能在/etc/vsftdp/.vsftpd.conf) 以下是我的配置文件内容: 在以上的配置文件中,我们允许匿名用户登录,并且其有删除

Linux下内存查看命令

在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们一般用free命令: $ free             total       used       free     shared    buffers     cachedMem:       3266180    3250004      16176          0     1106

在linux下,查看一个运行中的程序, 占用了多少内存

1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中  VSZ(或VSS)列 表示,程序占用了多少虚拟内存. RSS列 表示, 程序占用了多少物理内存. 虚拟内存可以不用考虑,它并不占用实际物理内存. (2). top 命令也可以 其中  VIRT(或VSS)列  表示,程序占用了多少虚拟内存. 同 ps aux 中的 VSZ列 RES列 表示, 程序占用了多少物理内存.同 ps aux 中的RSS列 2.在linux下, 查看当前系统占用

windows下如何实现ssh免密码登录

windows下如何实现ssh免密码登录呢? 步骤如下: 1.设置Git的user name和email: $ git config --global user.name "XXXX" $ git config --global user.mail "[email protected]" 2.生成SSH密钥过程:1)查看是否已经有了ssh密钥:cd ~/.ssh如果没有密钥则不会有此文件夹,有则备份删除2)生存密钥: $ ssh-keygen -t rsa -C &

Centos/Linux下如何查看网关地址/Gateway地址

Centos/Linux下如何查看网关地址/Gateway地址? Linux下查看网关的命令还是很多的,不过如果IP是DHCP获取,那么有些命令是不适用的,当然也有通用的查询网关命令. 1.ifconfig -a 和 cat /etc/resolv.conf  (主要查看ip/netmask和dns) 2.netstat -rn 3.cat /etc/sysconfig/network 4.cat /etc/sysconfig/network-scripts/ifcfg-eth0 5.trace

linux下如何查看和修改系统BLOCK的大小

http://blog.163.com/[email protected]/blog/static/162607494201271435333906/ 查看os系统块的大小 [root]# /sbin/tune2fs -l /dev/sda1 查看os系统页的大小 [[email protected] ~]$ getconf PAGESIZE 4096 修改块的大小: 创 建文件系统时,可以指定块的大小.如果将来在你的文件系统中是一些比较大的文件的话,使用较大的块大小将得到较好的性能.将ext2