Come posso vedere se gli utenti sono connessi tramite sftp?


11

Eseguo un file server Linux per il mio ufficio e utilizziamo SFTP per i partner remoti per accedere e scaricare file. C'è un modo per vedere se ci sono connessioni o accessi attivi in ​​modo che io possa sapere quando è sicuro eseguire la manutenzione sulla macchina?

Poiché la macchina serve quasi costantemente file di grandi dimensioni, la manutenzione programmata viene spesso interrotta a causa di uno dei due caricamenti

Risposte:


11

Puoi anche fare:

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

che dovrebbe mostrare tutte le sessioni sshd (che sono usate per sftp). Ho notato sulla mia macchina che la mia riga di comando del processo sshd contiene '$ USER @ notty', il che ha senso poiché non ho effettuato l'accesso con una sessione terminale. Puoi stringere il grep sopra con:

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

A proposito: le parentesi quadre nel grep non devono mostrare il processo 'grep sshd' nell'elenco dei processi. [s] shd corrisponde a sshd, ma non corrisponde a se stesso. Salva un 'grep -v grep'


4
Ho finito per usare netstat -atn | grep ':22'per vedere se c'era traffico aperto sulla porta 22. Ho anche scoperto che potevo controllare i registri sshd, situati in '/var/log/auth.log' sul mio sistema per vedere se tutti gli utenti che avevano aperto un la sessione era stata chiusa.
aVeRTRAC

2

Potresti anche provare fuser -u ssh/tcp


1

Penso che tu possa usare il programma da riga di comando whoper vedere questo. Ho notato alcuni rapporti che farlo non funziona, ma penso ancora che possa funzionare (forse è un'impostazione ssh).

sftp è basato su SSH . È l'acronimo di "SSH File Transfer Protocol". E quando hai effettuato l'accesso tramite ssh, 'who' ti includerà come utente connesso con il suo output. Quindi mi aspetto che funzioni anche con sessioni sftp attive.

Questa discussione del 2008 suggerisce anche che puoi usare 'netstat' per questo. Include anche un suggerimento per eseguire "who" tramite "watch" in modo da poter vedere gli aggiornamenti senza fare nulla.


1
che non mostra gli utenti che hanno effettuato l'accesso tramite ssh (ho appena effettuato l'accesso dal mio laptop e controllato).
aVeRTRAC il

È stravagante, è DEVE essere un'ambientazione .. Dato che sono dannatamente sicuro di averlo fatto per me .. per anni, anni e anni ..
James T Snell

Qualche idea su dove sarebbe quella impostazione? Ho provato questo su un server pubblico al mio lavoro e ho ottenuto risultati simili a quelli realistici con diversi utenti elencati.
aVeRTRAC,

1
chi mostra chi sta attualmente eseguendo una shell di accesso. A seconda di ciò che l'utente sta eseguendo, può o meno contare come shell di login. La metà del server di sftp non lo fa, quindi perché le sessioni sftp non compaiono in chi.
Perkins,
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.