Hosts.allow:%u 不工作(记录用户名)

Hosts.allow:%u 不工作(记录用户名)

我需要跟踪SSH服务器上的所有连接。在我的/etc/hosts.allow我有这样的东西:

sshd: ALL : spawn ( echo "`date` from %u %a " >> /var/log/ssh/%d.log ) &

其中%a记录客户端 IP,并且%u应该记录用户名。但只是%u记录unknown。有没有办法来解决这个问题?我需要记录每个连接的 IP 和用户名。

答案1

仅当客户端计算机正在运行并根据请求提供用户名 时,客户%u端用户名才是已知的。identd

tcp 包装器 ietcpd执行 identd 查找,如果没有从客户端计算机得到答案,则返回“未知”。

早在 20 世纪 90 年代,运行identd就已经是很常见的做法,但现在已经非常不常见了,而且许多客户端(例如 Windows 计算机)甚至没有 identd 或类似的程序。

简而言之,您得到“未知”,因为客户端计算机不提供该信息。

无论如何,您的 sshd 应该记录所有连接尝试 - 检查 /var/log/auth.log 或 /var/log/syslog 或 /var/log/messages (取决于您的发行版以及 syslogd 的配置方式)。

相关内容