Alles in allem habe ich einen Ubuntu-Host, der SSH-Verbindungen akzeptiert. Wie kann ich alle Befehle protokollieren, die auf einem bestimmten Konto ausgeführt werden, das sich über SSH anmeldet?
Vielen Dank
Vielleicht können Sie sshd dazu bringen, eine Protokollierungsshell wie rootsh zu verwenden ?
Du kannst es mit Snoopy versuchen. Nach der Installation werden alle Eingabebefehle, die ausgeführt werden, in syslog protokolliert. Sie finden es nur in den Repos für robust und präzise.
Sie können es von hier aus installieren .
quelle
Ich glaube nicht, dass SSHD Befehle protokolliert, während der Benutzer angemeldet ist.
Sie können überprüfen, wer angemeldet ist, indem Sie überprüfen
/var/log/auth.log
und verweisen sie auf ihre Geschichte
/home/sshuser/.bash_history
Der Verlauf verfügt jedoch über lokale oder entfernte Befehle.
quelle
.bash_history
hängt davon ab, wie Sie ihn konfiguriert haben. Es kann alles von einer Mischung jeder gleichzeitigen Shell-Sitzung bis zu gar nichts anzeigen. (Ichexport HISTFILE=''
möchte.bashrc
auf allen Systemen die Aufzeichnung aus Sicherheitsgründen deaktivieren.)Ich habe ein ähnliches Problem und habe das Tool log-user-session geschrieben, das die gesamte Shell-Ausgabe in einer nur für Root zugänglichen Sitzungsprotokolldatei speichert. Sie kann über einen erzwungenen Befehl auf sshd_conf- oder ~ / .ssh / -autorisierten Schlüsseln aktiviert werden (siehe Dokumentation ).
quelle