Ich möchte alle über SSH ausgeführten Befehle protokollieren.
Sagen,
ssh something@server.com COMMAND
Ich möchte "COMMAND" auf server.com protokollieren
Ich habe ausgiebig gesucht, konnte aber nichts finden.
Es gibt noch eine ähnliche Frage, aber ich glaube nicht, dass es dort eine Lösung gibt.
So protokollieren Sie "Remote-Ausführung über SSH"
Ich kann eine Live-Ansicht mit bekommen
pstree -p | grep ssh
Ich habe Snoopy, auditd und sudosh ausprobiert, konnte diese Befehle jedoch nicht über ssh protokollieren.
Es gibt eine http://freecode.com/projects/shwatchr . aber ich kann das Skript zum Testen nicht herunterladen.
Gibt es eine andere Möglichkeit, dies zu erreichen?
Vielen Dank.........
auditctl
ich das Protokollieren von SSH-Befehlen?Ich habe einen Test mit dieser Option in meinem Server-Suse-Labor durchgeführt und es funktioniert, aber vielleicht gibt es einen besseren Weg.
quelle
Ich habe einen Weg gefunden, dies zu tun. Es gibt ein Perl-Skript von John M. Simpson ( https://www.jms1.net/ ).
Alles was Sie tun müssen, ist hinzuzufügen
vor jedem Schlüssel in Ihren ~ / .ssh / autorisierten_ Schlüsseln
Es funktioniert nur, wenn Sie ein ssh ohne Passwort haben, aber dies löst meinen Zweck bis zu einem gewissen Grad.
http://www.jms1.net/log-session
quelle
In meinem Fall hatte ich genau die gleiche Anforderung. Die einzige Einschränkung bei dieser Methode ist, dass ich nicht sicher bin, wie sie funktioniert, wenn Sie keine SSH-Schlüssel verwenden. Ich habe ein kurzes Bash-Skript erstellt, um den Befehl vor der Ausführung zu protokollieren:
Ich habe diesen Befehl in ~ / bin / log-Befehlen gespeichert und ihn dann ausführbar gemacht (
chmod +x ~/bin/log-commands
).In der Datei "authorized_keys" habe ich den
command=
Parameter zu der Zeile hinzugefügt , die zu dem SSH-Schlüssel gehört, für den ich Protokolle haben wollte, sodass das Skript "log-command" ausgeführt werden muss:Wenn jemand die Protokollierung kennt, aber nicht möchte, dass Sie die Befehle sehen, kann er einfach in eine interaktive Sitzung gehen. Wie Sie bereits erwähnt haben, haben Sie bereits Snoopy ausprobiert, was das für Sie erledigen wird. Beliebte Alternativen, die ich nicht ausprobiert habe, sind rootsh, sudosh und log-user-session.
quelle
Würde Snoopy Ihnen dabei helfen? "Protokollieren Sie jeden ausgeführten Befehl in syslog (auch bekannt als Snoopy Logger)."
https://github.com/a2o/snoopy
quelle