无法获取 SSH 用户的最后连接信息(锁定、无 shell、公钥)是否有替代方法?

无法获取 SSH 用户的最后连接信息(锁定、无 shell、公钥)是否有替代方法?

我有几个远程系统通过 SSH 连接到我的服务器以建立隧道。

他们使用公钥进行身份验证,他们的用户被锁定,他们的 shell 被设置为 /usr/sbin/nologin

一切正常,除了使用此设置时,这些帐户的输出last username为空。

是否有解决方法来获取这些的上次登录信息?我需要 IP 和连接时间。

感谢您的阅读。

答案1

您可以使用awkon/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

相关内容