個々の SSH セッションのセッション ログを作成するにはどうすればよいですか?

個々の SSH セッションのセッション ログを作成するにはどうすればよいですか?

私が探しているのは次のものです:

SunOS で個々の SSH セッションをログに記録する方法。SSH しているデバイスのホスト名に基づいて、ファイルを別々に保持したいです。CLI インターフェイスのみを使用しているため、GUI ツールは機能しません。検討しているオプションには、スクリプト コマンドまたは screen ユーティリティの使用が含まれます。自動化された方法で複数のセッションを複数のデバイスにログに記録する方法を説明していただければ幸いです。たとえば、ログインするたびに同じコマンドを手動で入力しなくても済むように、.bashrc の例またはスクリプトのいずれかを含めていただければ理想的です。

スクリプトで最初に screen または script のいずれかを呼び出して、SSH 接続しているホスト名に基づいてログ記録を開始し、次に SSH を呼び出して接続を開始できるのではないかと考えていました。ありがとうございます。

答え1

画面制御エスケープ コードを含む、セッション中に発生するすべてのものの生のログ ファイルを作成するには、 を使用しますtee

.bashrc に関数を作成します:

myssh () { ssh $1 2>&1 | tee -a ~myusername/logdir/$1.log; }

次にエイリアスを作成します。

alias ssh=myssh

ここで、logdir を作成したと仮定すると、ssh 接続を行うたびに、セッションの内容が接続名に基づいてログファイルに追加されます。

関連情報