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 ラッパーはtcpd
identd 照会を実行し、クライアント・システムから応答が得られなかった場合は「unknown」を返します。
1990年代には実行がidentd
一般的な慣行でしたが、現在ははるかに一般的ではなく、Windowsシステムなどの多くのクライアントにidentdや同様のプログラムもありません。
つまり、クライアントシステムがその情報を提供していないため、「不明」と表示されます。
それにもかかわらず、sshdはすべての接続試行を記録する必要があります。 /var/log/auth.log、/var/log/syslog、または/var/log/messagesを確認してください(ディストリビューションとsyslogdの設定方法によって異なります)。