Protokollierung der BASH-Shell-Sitzung auf dem Remote-Host

8

Was ist die beste Methode, um eine BASH-Shell-Sitzung in einer Datei auf dem Host-Computer zu protokollieren?

Das bevorzugte Ausgabeformat entspricht der PuTTY-Protokolleinstellung "Druckbare Ausgabe", wie sie vom Benutzer einschließlich der Eingabe und ausschließlich der ncurses-Steuerzeichendaten angezeigt wird.

Andy
quelle
Neugierig zu wissen, welche Shell Sie verwenden.
Dr.Pooter

Antworten:

4

Es könnte sich lohnen, sich Shell- oder Systemprüfprogramme wie Rootsh oder Sudosh anzusehen .

gharper
quelle
rootsh kommt dem, was ich will, am nächsten, danke.
Andy
1
Sie können auch acct / psacct (BSD-Buchhaltung) oder snoopy berücksichtigen. Sie protokollieren die Ausgabe nicht, sind aber auch weniger ausführlich. Siehe: cyberciti.biz/tips/… und sourceforge.net/projects/snoopylogger
Mircea Vutcovici
Die rootshApp ist jetzt veraltet und sudoshscheint nicht gewartet zu werden. Wir haben einen hauchdünnen Wrapper implementiert sudo, um sudoihn als Anmeldeshell für die Sitzungsprotokollierung verwenden zu können. Siehe hier: github.com/cloudposse/sudosh
Erik Osterman
2

Sie können den Gnu-Bildschirm starten und die Protokollfunktion verwenden. Ich weiß nichts, was Ihnen ein wirklich gutes Protokoll für ncurses- Anwendungen wie top geben wird.

Mann Bildschirm

log [on|off]

Start/stop writing output of the current window to a file "screenlog.n"
in the window's default directory, where n is the number of the current
window. This filename can be changed with the `logfile' command. ...

logfile filename
logfile flush secs

Defines the name the log files will get. The default is "screenlog.%n".
The  second  form changes the number of seconds screen will wait before
flushing the logfile buffer to the file-system. The default value is 10
seconds.
Zoredache
quelle
Die Ausgabe des Bildschirms entspricht der Skriptbehandlung - die Behandlung von Flüchen wird nicht unterstützt.
Andy
1

Das scriptProgramm erstellt ein vollständiges Protokoll Ihrer Shell-Sitzung. Keine Ahnung, ob es einer PuTTY-Sache entspricht.

womble
quelle
Danke, aber es ist nicht geeignet, da ich Zeit mit geöffnetem Top auf der Shell verbringe. Der Bildschirm zeichnet Folgendes auf: [andy @ 165 ~] $ top ESC [HESC [2JESC (BESC [mtop - 23:34:49 up 19 days, 17 : 42, 1 Benutzer, Lastdurchschnitt: 0,11, 0,07, 0,01 ESC (BESC [mESC [39; 49 mESC [K
Andy
0

Ich bin mir nicht sicher, was Sie hier erreichen wollen. Ist das für Training oder Forensik? Wenn Sie etwas wollen, das gut lesbare Protokolldateien erzeugt, haben Sie wahrscheinlich kein Glück. Wenn Sie Sitzungen wiedergeben möchten, ist ttyrec genau das, wonach Sie suchen. Sie können es als Teil eines Anmeldeskripts ausführen, um die Sitzung eines Benutzers zu erfassen. Stellen Sie jedoch sicher, dass Sie 'trap' verwenden, um zu verhindern, dass ein Benutzer ttyrec beendet und zu einer Shell zurückkehrt.

Schmiere
quelle
Persönliche Prüfung und Protokollierung im Klartext; Die Wiedergabe von Sitzungen ist nicht erforderlich.
Andy
2
Skript ist das, was Sie wollen, am nächsten, obwohl es, wie gesagt, nicht gut mit Flüchen umgehen kann. Wir verwenden ein Skript zum Protokollieren aller Sitzungen und versuchen nur, die Unordnung zu überwinden, die ncurses verursachen wird.
Goo
Danke Geoff, es sieht so aus, als ob ich dann mit dem Skript nicht weiterkommen könnte.
Andy
0

Alle eingegebenen Befehle werden in die Datei .bash_history geschrieben, normalerweise bei Ihnen zu Hause. Sie können die Anzahl der Zeilen festlegen, die über die Einstellung HISTFILESIZE gespeichert werden.

Es gibt jedoch keine Zeitstempel und keine Ausgabe.

Wenn dies wirklich benötigt wird, würde ich einen Wrapper um Bash erstellen, stdin und stdout in eine Datei kopieren und das durcharbeiten.

Slovon
quelle
0

Sie können versuchen, http://xgu.ru/wiki/LiLaLo zu verwenden. Es wird in Russland hergestellt, daher ist die Dokumentation auch in russischer Sprache, aber Google Translate hilft Ihnen dabei. Hier ist ein Beispiel für die Ausgabe: (Quelle: xgu.ru )Alt-Text

TiFFolk
quelle
Die Übersetzung ist ein bisschen wackelig. Wird dies so etwas wie einen interaktiven Top-Prozess behandeln?
dr.pooter
Was das Bild betrifft, geht es nicht um vi, also kein Top, denke ich. Aber die Protokollierung ist ziemlich attraktiv.
TiFFolk