Überwachen Sie eine eingehende SSH-Sitzung in Echtzeit

21

Gibt es eine Linux-Software, um eine eingehende SSH-Sitzung zu überwachen. Bei einem früheren Job wurde mir gesagt, dass Sie, wenn Sie jemals Unterstützung von Red Hat benötigen, diese SSH in Ihrem Computer haben und beobachten können, was sie tun.

Ich bin in einer ähnlichen Situation, in der ich in die Maschine meines Freundes sshen möchte, um ihm zu helfen, aber ich möchte, dass er in der Lage ist, zu Lernzwecken zu schauen, was ich tue, und um sicherzustellen, dass ich nichts Bösartiges tue.

Irgendwelche Vorschläge?

Vielen Dank

Richard
quelle
Es gab eine ObserveIT-Anzeige auf dieser Seite, und sie sind genug nette Lösungen, um zu versuchen, ob SaaSish etwas wollte.
kagali-san

Antworten:

15

GNU Screen hat diese Fähigkeit, Sie könnten einem bestimmten Shell-Benutzer erlauben, nur über den Bildschirm zu arbeiten.

https://www.linux.com/learn/tutorials/442418- using-screen-for-remote-interaction

Adam Gibbins
quelle
1
Das einzige Problem mit dem Bildschirm ist, dass sie die Bildschirmsitzung starten müssen, sobald sie sich anmelden, um die Sitzung zu sehen. Auch als Techniker, der Remote-Support geleistet hat und dies getan hat, können Sie nicht alle Bildschirmfenster gleichzeitig überwachen, sodass sie weiterhin Befehle in einem anderen Bildschirm ausführen und ausblenden können.
Bürger Kepler
3

Ich denke, Bildschirm ist das, wonach Sie suchen, aber wenn Sie nicht dort sitzen und zuschauen und eine Benutzersitzung "video" wollen, können Sie sich die sudo-Shell ansehen.

Wenn Sie den Benutzer mit dieser Shell einrichten, können Sie eine vollständige Aufzeichnung von allem haben, was aufgetreten ist, und Sie können es "wiedergeben" und es ansehen, wenn / wenn Sie müssen.

Der einzig mögliche Nachteil dabei ist, dass die Protokolle sehr groß werden können. Wenn sie beispielsweise einen Befehl ausführen, wie z. B. find /, wird auch alles aufgezeichnet, sodass Sie wahrscheinlich auswählen müssen, für welche Konten es aktiviert werden soll, anstatt es zu tun global.

Das Zulassen des Anmeldezugriffs von Anbietern ist wahrscheinlich perfekt, da Sie einen vollständigen Prüfpfad für alles haben, was sie getan haben, und alles (auch Rückstände) aufgezeichnet und zur Wiedergabe gespeichert werden.

log_outputist Ihre Recorder-Option für Sudoer und sudoreplay(8)Ihr Player.

Wie in der sudoersManpage beschrieben:

log_output: Wenn gesetzt, führt sudo den Befehl in einem Pseudo-Tty aus und protokolliert alle Ausgaben, die an den Bildschirm gesendet werden, ähnlich wie beim Befehl script (1). Wenn die Standardausgabe oder der Standardfehler aufgrund der E / A-Umleitung oder weil der Befehl Teil einer Pipeline ist, nicht mit dem tty des Benutzers verbunden ist, wird diese Ausgabe ebenfalls erfasst und in separaten Protokolldateien gespeichert.

In die sudoers-Datei würden Sie so etwas einfügen:

User_Alias SHELL_ACCOUNTS = root,jack
Defaults: SHELL_ACCOUNTS log_output

Oder für die gruppenbasierte Protokollierung

Defaults:%shellusers log_output

Weitere Informationen finden Sie unter http://www.gratisoft.us/sudo/sudoers.man.html .

Xerxes
quelle
Könnten Sie uns ein bisschen mehr Informationen geben? Was genau meinst du mit "sudo shell"? Wie würde ich die Shell eines Benutzers darauf einstellen? Wo würden die Protokolle gespeichert werden?
GJ.
Ich habe meine Antwort mit einigen Details aktualisiert, um dies zu verdeutlichen.
Xerxes
2

Sie können den Skriptbefehl verwenden. Erstellen Sie eine Zeile in .login oder .profile des Benutzers, dessen SSH-Sitzung Sie überwachen möchten. Wenn er sich anmeldet, wird ein Skript / Protokoll von seiner E / A generiert, das Ihnen die ausgeführten Befehle und die Ausgabe dieser Befehle gibt. In Echtzeit können Sie das Skript einfach anpassen und sehen, was der Benutzer in Echtzeit tut.

Sie können keinen Link für Ihre Referenz einfügen, aber Sie können einfach den Befehl "script" googeln und Sie erhalten die Referenzen.

Viky
quelle
1

Sie können Kibitz verwenden . Zitat aus der Manpage:

Mit kibitz können zwei (oder mehr) Personen mit einer Shell (oder einem beliebigen Programm) interagieren.

Auf Fedora ist es im Expect- Paket enthalten.

Cristian Ciupitu
quelle
0

Ich benutze Whowatch auf meinem Server.

apt-get install whowatch
Unkwntech
quelle
2
Für diejenigen, die einen Link wollen: pttk.ae.krakow.pl/~mike/#whowatch
kdmurray
0

Bildschirm oder tmux.

tmux sharing ist etwas einfacher.

Nicht jetzt
quelle