GNU/Linux >> Linux Esercitazione >  >> Linux

Per sapere quale IP ha eseguito un determinato comando in Linux usando ssh

Ogni nuovo utente che si connette genera un nuovo sshd sessione con un PID specifico. Potresti usare pstree per stampare quali comandi sono ereditati da quale sshd sessione, quindi eseguire un controllo incrociato di questo PID in /var/log/auth.log .

Esempio (anonimizzato):ho effettuato l'accesso a un server remoto con 3 sessioni simultanee, con lo stesso utente remoto. Ora voglio scoprire da quale IP proviene il client che ha eseguito il comando watch date .

$ 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 mostra che il watch comando è ereditato da sshd con PID 15243. grep ing per questo PID in /var/auth/auth.log mostra che è stato l'IP 12.34.56.78 ad avviare questa sessione. Pertanto questo è anche l'utente che ha avviato watch .

Per quanto riguarda la ricerca di history per questo utente in particolare, non può essere fatto da quello che posso vedere quando tutti gli utenti remoti utilizzano lo stesso utente SSH locale. Inoltre, può essere facilmente contraffatto/inattivato/ecc., quindi non è realmente affidabile. Se viene salvato nel file della cronologia, puoi semplicemente cercare cp comando e guarda indietro nel file, ma se non c'è, allora non c'è molto da fare.


Linux
  1. 10 comandi che ogni utente Linux dovrebbe conoscere

  2. 3 hack utili che ogni utente Linux deve conoscere

  3. Come sapere quale distribuzione Linux stai utilizzando?

  4. Comando su Linux

  5. Consentire l'esecuzione automatica dei comandi come root su Linux utilizzando SSH

Come scoprire se un utente utilizza l'autenticazione SSH basata su password o basata su chiave in Linux

Buone alternative alle pagine man che ogni utente Linux deve conoscere

su Comando in Linux

Come limitare l'accesso SSH a determinati utenti in Linux

Utilizzo del comando Watch in Linux

5 semplici trucchi per la cronologia di Bash che ogni utente Linux dovrebbe conoscere