![Wie kann ich Sitzungsprotokolle einzelner SSH-Sitzungen erstellen?](https://rvso.com/image/1317506/Wie%20kann%20ich%20Sitzungsprotokolle%20einzelner%20SSH-Sitzungen%20erstellen%3F.png)
Hier ist, wonach ich suche:
Eine Möglichkeit, einzelne SSH-Sitzungen unter SunOS zu protokollieren. Ich möchte die Dateien getrennt halten, basierend auf dem Hostnamen des Geräts, mit dem ich per SSH verbunden bin. Ich verwende nur die CLI-Schnittstelle, GUI-Tools funktionieren also nicht. Einige der Optionen, die ich in Betracht ziehe, umfassen entweder die Verwendung des Skriptbefehls oder des Bildschirmdienstprogramms. Wenn jemand erklären könnte, wie mehrere Sitzungen auf mehreren Geräten automatisch protokolliert werden. Wenn Sie beispielsweise entweder ein .bashrc-Beispiel oder ein Skript beifügen könnten, das ich verwenden könnte, damit ich nicht bei jeder Anmeldung dieselben Befehle manuell eingeben muss, wäre das ideal.
Ich dachte, vielleicht könnte ein Skript zuerst entweder screen oder script aufrufen und mit der Protokollierung basierend auf dem Hostnamen beginnen, mit dem ich per SSH verbunden bin, und dann SSH aufrufen, um die Verbindung herzustellen. Danke!
Antwort1
Um eine Rohprotokolldatei von allem zu erstellen, was während einer Sitzung passiert, einschließlich Escape-Codes zur Bildschirmsteuerung, würde ich verwenden tee
.
Erstellen Sie in Ihrer .bashrc-Datei eine Funktion:
myssh () { ssh $1 2>&1 | tee -a ~myusername/logdir/$1.log; }
Und dann erstellen Sie einen Alias:
alias ssh=myssh
Vorausgesetzt, Sie haben logdir erstellt, wird bei jeder SSH-Verbindung der Inhalt Ihrer Sitzung basierend auf dem Verbindungsnamen an die Protokolldatei angehängt.