Hosts.allow:%uが機能しません(ユーザー名のログ記録中)。

Hosts.allow:%uが機能しません(ユーザー名のログ記録中)。

SSHサーバーのすべての接続を追跡する必要があります。私のものには/etc/hosts.allow次のようなものがあります。

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

クライアント%aIPが記録され、%uユーザー名も記録する必要があります。しかし、ただの%u記録だけですunknown。この問題を解決する方法はありますか?各接続のIPとユーザー名を記録する必要があります。

ベストアンサー1

%uクライアントユーザー名は、クライアントコンピュータが実行されている場合にのみ知られ、要求に応じてユーザー名を提供します。identd

つまり、tcp ラッパーはtcpdidentd 照会を実行し、クライアント・システムから応答が得られなかった場合は「unknown」を返します。

1990年代には実行がidentd一般的な慣行でしたが、現在ははるかに一般的ではなく、Windowsシステムなどの多くのクライアントにidentdや同様のプログラムもありません。

つまり、クライアントシステムがその情報を提供していないため、「不明」と表示されます。

それにもかかわらず、sshdはすべての接続試行を記録する必要があります。 /var/log/auth.log、/var/log/syslog、または/var/log/messagesを確認してください(ディストリビューションとsyslogdの設定方法によって異なります)。

おすすめ記事