私はSSH接続中に多くのコマンドを実行するプログラムを書こうとしました。
私の現在のアプローチは、(1)SSH接続を作成し、(2)必要に応じてSSHコマンドトンネル/チャネルを作成し、(3)SSH接続を閉じることです。
予想どおり、/var/log/secure には ssh のオープンイベントとクローズイベントに対応する 2 つのエントリのみが表示されます。
私の問題は、ログインイベントとログアウトイベントに対応する/var/log/wtmpに多くのエントリがあることです。
SSH接続を記録する文脈で、これら2つのファイル間の関係についてご意見をお寄せください。
どんな洞察力でも感謝します!用語が不適切で不便な場合は申し訳ありません!
答え1
/var/log/secure
認証イベントのログエントリを追跡します。 SSH接続を開くたびに認証イベントが発生します。これらのエントリは、システム構成によって存在する可能性がある、および/var/log/auth.log
その他/var/log/syslog
のテキストモードログファイルにも表示されることがあります。この点で、ディストリビューションごとにデフォルト値が異なります。/var/log/daemon.log
/var/log/messages
トンネルオープンやスレーブ接続など、既存のSSH接続を介して特定のタスクを実行する場合は、認証手順は不要です。したがって、これは文書化されていません/var/log/secure
。
アイテム/var/log/wtmp
(およびutmp
) には端末の作成と破棄、ユーザーへの端末の割り当てと解除を記録します。したがって、対話型セッションのみを追跡します。一部の設定では、端末エミュレータによるすべての端末生成がここに記録されます。ssh -t
ログインutmpとwtmpは、SSH接続が端末を作成している場合にのみトリガーされます(たとえば、コマンドを渡さずに対話型シェルを取得する場合、または実行する場合など)。