Wie kann ich sehen, ob Benutzer über SFTP angemeldet sind?

11

Ich betreibe einen Linux-Dateiserver für mein Büro und wir verwenden SFTP für Remote-Partner, um sich anzumelden und Dateien herunterzuladen. Gibt es eine Möglichkeit, um festzustellen, ob aktive Verbindungen oder Anmeldungen vorhanden sind, damit ich weiß, wann die Wartung des Computers sicher ist?

Da der Computer fast ständig große Dateien bereitstellt, wird die geplante Wartung häufig durch einen Upload unterbrochen

aVeRTRAC
quelle

Antworten:

11

Sie können auch tun:

ps -ef | grep '[s]shd' | grep -v ^root

Hier sollten alle SSHD-Sitzungen angezeigt werden (die für SFTP verwendet werden). Ich stelle auf meinem Computer fest, dass meine sshd-Prozessbefehlszeile '$ USER @ notty' enthält. Dies ist sinnvoll, da ich nicht mit einer Terminalsitzung angemeldet bin. Sie könnten den Grep oben enger machen mit:

ps -ef | grep '[s]shd:.*@notty' | grep -v ^root

Übrigens: In den eckigen Klammern im grep darf der Prozess 'grep sshd' nicht in der Prozessliste angezeigt werden. [s] shd stimmt mit sshd überein, stimmt aber nicht mit sich selbst überein. Es speichert ein 'grep -v grep'

Reiche Homolka
quelle
4
Ich landete mit , netstat -atn | grep ':22'um zu sehen , ob es offen war Verkehr auf Port 22. Ich fand auch , dass ich die sshd Protokolle überprüfen konnte, befindet sich auf ‚/var/log/auth.log‘ auf meinem System , um zu sehen , ob alle Benutzer , die eine auftat Sitzung war geschlossen worden.
AVRTRAC
2

Sie könnten es auch versuchen fuser -u ssh/tcp

Uli
quelle
1

Ich denke, Sie können das Befehlszeilenprogramm verwenden who, um dies zu sehen. Ich habe einige Berichte bemerkt, dass dies nicht funktioniert, aber ich denke immer noch, dass es funktionieren könnte (vielleicht ist es eine SSH-Einstellung).

sftp basiert auf SSH . Es steht für das "SSH File Transfer Protocol". Und wenn Sie über ssh angemeldet sind, werden Sie von 'who' als angemeldeter Benutzer mit seiner Ausgabe eingeschlossen. Ich würde also erwarten, dass dies auch mit aktiven SFTP-Sitzungen funktioniert.

Diese Diskussion aus dem Jahr 2008 legt auch nahe, dass Sie hierfür 'netstat' verwenden können. Es enthält auch einen Vorschlag, 'who' über 'watch' auszuführen, damit Sie Updates sehen können, ohne etwas zu tun.

James T Snell
quelle
1
Wer zeigt nicht Benutzer an, die über ssh angemeldet sind (ich habe mich gerade von meinem Laptop angemeldet und überprüft).
AVERTRAC
Das ist verrückt, das muss eine Einstellung sein. Da ich verdammt sicher bin, dass es das für mich getan hat. Seit Jahren und Jahren.
James T Snell
Irgendeine Idee, wo diese Einstellung sein würde? Ich habe dies bei meiner Arbeit auf einem öffentlichen Server versucht und bei mehreren aufgelisteten Benutzern wieder realistische Ergebnisse erzielt.
AVRTRAC
1
Wer zeigt, wer gerade eine Login-Shell ausführt? Je nachdem, was der Benutzer ausführt, kann er als Anmeldeshell gelten oder nicht. Die Serverhälfte von SFTP funktioniert nicht, weshalb SFTP-Sitzungen nicht in wem angezeigt werden.
Perkins