Monitora una sessione SSH in arrivo in tempo reale


21

Esiste un software linux per monitorare una sessione ssh in arrivo. In un precedente lavoro mi era stato detto che se avessi mai avuto bisogno del supporto di Red Hat, ad esempio, potresti averli SSH nella tua macchina e guardare cosa stavano facendo.

Sono in una situazione simile in cui voglio entrare nella macchina dei miei amici per aiutarlo, ma voglio che sia in grado di guardare quello che sto facendo a fini educativi e di assicurarsi che non faccia nulla di malevolo.

Eventuali suggerimenti?

Grazie


c'era un annuncio ObserveIT in questa pagina e sono una soluzione sufficiente per provare se qualcosa SaaSish lo desiderasse.
kagali-san,

Risposte:


15

GNU Screen ha questa capacità, potresti consentire a un utente shell specifico di operare solo attraverso lo schermo.

https://www.linux.com/learn/tutorials/442418-using-screen-for-remote-interaction


1
L'unico problema con lo schermo è che dovranno avviare la sessione dello schermo una volta effettuato l'accesso per vedere la sessione. Inoltre, in quanto tecnico che ha fornito supporto remoto e lo ha fatto, non è possibile monitorare contemporaneamente tutte le finestre dello schermo in modo che possano comunque eseguire comandi in un'altra schermata e nasconderlo.
Citizen Kepler,

3

Penso che lo schermo sia quello che stai cercando, ma se non vuoi sederti lì a guardare e vuoi "video" la sessione di un utente, puoi guardare sudo shell.

Se imposti l'utente con questo come shell, puoi avere una registrazione completa di tutto ciò che è accaduto, e puoi "riprodurlo" indietro e guardarlo quando / se necessario.

L'unico aspetto negativo possibile è che i registri possono diventare molto grandi, ad esempio se eseguono un comando simile find /, avrai anche tutto ciò che è registrato - quindi probabilmente dovrai scegliere per quali account abilitarlo invece di farlo globalmente.

Per quanto riguarda consentire l'accesso ai fornitori, questo è probabilmente perfetto, poiché hai una pista di controllo completa di tutto ciò che hanno fatto, tutto (anche il backspacing) viene registrato e memorizzato per la riproduzione.

log_outputè l'opzione del registratore per i sudoers ed sudoreplay(8)è il tuo lettore.

Come da sudoerspagina man:

log_output: Se impostato, sudo eseguirà il comando in una pseudo tty e registrerà tutto l'output inviato allo schermo, in modo simile al comando script (1). Se l'output standard o l'errore standard non è collegato al tty dell'utente, a causa del reindirizzamento I / O o perché il comando fa parte di una pipeline, anche l'output viene acquisito e memorizzato in file di registro separati.

Nel file sudoers, inseriresti qualcosa del genere:

User_Alias SHELL_ACCOUNTS = root,jack
Defaults: SHELL_ACCOUNTS log_output

O per la registrazione basata su gruppo

Defaults:%shellusers log_output

Vedi http://www.gratisoft.us/sudo/sudoers.man.html per i dettagli.


Potresti dare qualche informazione in più? Cosa intendi esattamente con "sudo shell"? Come impostare la shell di un utente su quello? Dove verrebbero salvati i registri?
GJ.

Ho aggiornato la mia risposta con alcuni dettagli per chiarire.
Serse


2

Puoi usare il comando script. Crea una riga in .login o .profile dell'utente di cui desideri monitorare la sessione ssh. Quando accede a uno script / log viene generato il suo I / O che ti dà l'esecuzione dei comandi e l'output di tali comandi. In tempo reale puoi semplicemente seguire lo script e guardare ciò che l'utente fa in tempo reale.

Impossibile incollare un link per il tuo riferimento ma puoi semplicemente google sul comando "script" e otterrai i riferimenti.


1

Puoi usare Kibitz . Citando dalla pagina man:

kibitz consente a due (o più) persone di interagire con una shell (o qualsiasi programma arbitrario).

Su Fedora, è incluso nel pacchetto prevede .



0

schermo o tmux.

la condivisione tmux è un po 'più semplice.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.