Ssh

hosts.allow: %u 不工作(登錄使用者名)

  • September 17, 2013

我需要跟踪SSH我的伺服器上的所有連接。在我的/etc/hosts.allow我有這樣的事情:

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

在哪裡%a記錄客戶端IP,並且%u應該記錄使用者名。但%u只是日誌unknown。有沒有辦法解決這個問題?我需要記錄每個連接的 IP 和使用者名。

僅當%u客戶端電腦正在執行identd並根據請求提供使用者名時,才知道客戶端使用者名。

tcp wrappers ietcpd進行 identd 查找,如果沒有從客戶端機器得到答案,則返回“未知”。

執行identd在 90 年代曾經是一種常見的做法,但現在非常罕見 - 許多客戶端(例如 Windows 機器)甚至沒有 identd 或類似的程序。

簡而言之,您會得到“未知”,因為客戶端機器沒有提供該資訊。

無論如何,您的 sshd 都應該記錄所有連接嘗試 - 檢查 /var/log/auth.log 或 /var/log/syslog 或 /var/log/messages(取決於您的發行版和 syslogd 的配置方式)。

引用自:https://unix.stackexchange.com/questions/90991