GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Zu wissen, welche IP einen bestimmten Befehl unter Linux mit ssh ausgeführt hat

Jeder neue Benutzer, der sich verbindet, erzeugt einen neuen sshd Sitzung mit einer bestimmten PID. Sie könnten pstree verwenden zu drucken, welche Befehle von welchem ​​sshd geerbt werden Sitzung, und überprüfen Sie dann diese PID in /var/log/auth.log .

Beispiel (anonymisiert):Ich habe mich bei einem Remote-Server mit 3 gleichzeitigen Sitzungen mit demselben Remote-Benutzer angemeldet. Ich möchte nun herausfinden, von welcher IP der Client kam, der den Befehl watch date ausgeführt hat .

$ pstree -p | grep watch
        |           |-sshd(15243)---sshd(15342)---bash(15343)---watch(15450)
$ sudo grep 15243 /var/log/auth.log
Mar  7 15:37:29 XXXXXXXXXX sshd[15243]: Accepted publickey for XXXXXXXXXX from 12.34.56.78 port 48218 ssh2
Mar  7 15:37:29 XXXXXXXXXX sshd[15243]: pam_unix(sshd:session): session opened for user XXXXXXXXXX by (uid=0)
Mar  7 15:37:44 XXXXXXXXXX sudo: XXXXXXXXXX : TTY=pts/7 ; PWD=/home/XXXXXXXXXX ; USER=root ; COMMAND=/bin/grep 15243 /var/log/auth.log

pstree -p zeigt, dass die watch Befehl wird von sshd geerbt mit PID 15243. grep ing für diese PID in /var/auth/auth.log zeigt, dass es die IP 12.34.56.78 war, die diese Sitzung gestartet hat. Daher ist dies auch der Benutzer, der watch gestartet hat .

Was das Finden von history betrifft Für speziell diesen Benutzer ist dies nicht möglich, wenn alle Remotebenutzer denselben lokalen SSH-Benutzer verwenden. Außerdem kann es leicht gefälscht/deaktiviert/etc. werden, also ist es nicht wirklich zuverlässig. Wenn es in der Verlaufsdatei gespeichert ist, können Sie einfach nach cp suchen Befehl und schauen Sie rückwärts in der Datei, aber wenn es nicht da ist, dann gibt es nicht viel zu tun.


Linux
  1. 10 Befehle, die jeder Linux-Benutzer kennen sollte

  2. 3 nützliche Hacks, die jeder Linux-Benutzer kennen muss

  3. Woher wissen Sie, welche Linux-Distribution Sie verwenden?

  4. So entfernen Sie Benutzer in Linux über die Befehlszeile

  5. Linux-su-Befehl

So finden Sie heraus, ob ein Benutzer unter Linux eine kennwortbasierte oder schlüsselbasierte SSH-Authentifizierung verwendet

Gute Alternativen zu Manpages, die jeder Linux-Benutzer kennen muss

su-Befehl unter Linux

So beschränken Sie den SSH-Zugriff auf bestimmte Benutzer in Linux

Verwenden des Watch-Befehls unter Linux

5 einfache Bash-Verlaufstricks, die jeder Linux-Benutzer kennen sollte