我有几个远程系统通过 SSH 连接到我的服务器以建立隧道。
他们使用公钥进行身份验证,他们的用户被锁定,他们的 shell 被设置为 /usr/sbin/nologin
一切正常,除了使用此设置时,这些帐户的输出last username
为空。
是否有解决方法来获取这些的上次登录信息?我需要 IP 和连接时间。
感谢您的阅读。
答案1
您可以使用awk
on/var/log/secure
或/var/log/auth.log
(取决于发行版)。
CentOS 7
当我远程登录时,我得到以下信息:
Dec 8 21:58:20 <server hostname> sshd[8387]: Accepted publickey for gareth from 1.2.3.4 port 58392 ssh2: RSA 55:89:f9:20:db:c6:e0:6f:ff:d4:a7
上面是交互式登录,但为sftp
登录创建了类似的条目。
所以:
awk '/sshd.*Accepted/ {print $1,$2,$3,$9,$11}' /var/log/secure
应该给你:
Dec 8 21:58:20 gareth 1.2.3.4