Come trovare connessioni SSH attive su Linux


Su questa pagina

  1. Prerequisiti
  2. Trova connessione SSH attiva con il comando who
  3. Trova connessione SSH attiva con il comando w
  4. Trova connessione SSH attiva con il comando ps
  5. Trova connessione SSH attiva con il comando netstat
  6. Trova connessione SSH attiva con l'ultimo comando
  7. Trova connessione SSH attiva con il comando ss
  8. Conclusione

Se sei un amministratore di sistema Linux e sei responsabile della gestione dei server, spesso potresti aver bisogno di sapere quante connessioni ssh sono attive sul tuo server e da dove provengono le connessioni. Esistono diversi comandi e strumenti disponibili in Linux per trovare le connessioni SSH attive sul tuo server.

In questo tutorial, mostreremo come trovare connessioni SSH attive con diversi metodi in Linux.

Prerequisiti

  • Un server con sistema operativo Linux.
  • Hai accesso root su quel server.

Trova la connessione SSH attiva con il comando who

who è l'utilità della riga di comando di Linux utilizzata per visualizzare un elenco di utenti attualmente connessi al server.

Apri il tuo terminale ed esegui il comando who per trovare le connessioni attive sul tuo server:

who

Dovresti ottenere il seguente output:

root     pts/0        2020-05-01 02:37 (27.61.161.61)
root     pts/1        2020-05-01 02:39 (45.58.38.21)

Come puoi vedere ci sono due connessioni SSH attive dall'IP 27.61.161.61 e 45.58.38.21.

Trova la connessione SSH attiva con il comando w

w è un'altra utilità della riga di comando che visualizza le informazioni sull'utente attualmente connesso al server. Questo comando fornisce più informazioni rispetto a chi comanda come sessioni attive e processi in esecuzione su tali sessioni.

È possibile eseguire il comando w come mostrato di seguito:

w

Dovresti ottenere il seguente output:

 02:40:07 up 1 day, 18:35,  2 users,  load average: 0.02, 0.02, 0.00
USER     TTY      FROM                IDLE   JCPU   PCPU WHAT
root     pts/0    27.61.161.61     02:37    1.00s  0.04s  0.01s ssh 
root     pts/1    45.58.38.21      02:39    1.00s  0.02s  0.00s w

Come puoi vedere, questo comando mostra anche i dettagli del tempo di inattività, l'IP di origine, l'ora di accesso, la media del carico e i processi.

Trova la connessione SSH attiva con il comando ps

Il comando ps ti fornisce anche le informazioni sulle sessioni SSH attive nel tuo server. Fornisce alcune informazioni aggiuntive come il PID delle connessioni SSH attive.

Puoi eseguire il comando ps come mostrato di seguito

ps auxwww | grep sshd: | grep -v grep

Dovresti vedere il seguente output:

root         609  0.0  0.1  12160  7268 ?        Ss   Apr29   0:01 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root       35532  0.0  0.2  13864  8796 ?        Ss   02:37   0:00 sshd: /0
root       35669  0.0  0.2  13860  8916 ?        Ss   02:38   0:00 sshd: /1

Trova la connessione SSH attiva con il comando netstat

Netstat è uno strumento da riga di comando che può essere utilizzato per mostrare connessioni SSH attive o stabilite dagli host remoti al tuo server.

È possibile eseguire il comando netstat come mostrato di seguito:

netstat -tnpa | grep 'ESTABLISHED.*sshd'

Dovresti vedere il seguente output:

tcp        0     88 45.58.38.21:22          27.61.161.61:8363       ESTABLISHED 35532/sshd:  
tcp        0      0 45.58.38.21:22          45.58.38.21:51166       ESTABLISHED 35669/sshd:  

Trova la connessione SSH attiva con l'ultimo comando

L'ultimo comando viene utilizzato per visualizzare l'elenco di tutti gli utenti che hanno effettuato l'accesso e si sono disconnessi dalla creazione del file /var/log/wtmp. Con l'ultimo comando puoi anche trovare le informazioni sulla connessione SSH attiva tra client e server.

Esegui il seguente comando per trovare le connessioni SSH attive nel tuo server.

last -a | grep -i still

Dovresti vedere il seguente output:

root     pts/1        Fri May  1 02:39   still logged in    45.58.38.21
root     pts/0        Fri May  1 02:37   still logged in    27.61.161.61
reboot   system boot  Wed Apr 29 08:04   still running      5.4.0-26-generic

Trova la connessione SSH attiva con il comando ss

ss è molto simile a netstat e viene utilizzato per visualizzare più informazioni rispetto ad altri strumenti. Puoi usare il comando ssh con grep per elencare la connessione SSH attiva nel tuo server.

Esegui il comando ss con grep come mostrato di seguito:

ss | grep -i ssh

Dovresti vedere il seguente output:

tcp   ESTAB  0      0                      45.58.38.21:51166        45.58.38.21:ssh                                                                             
tcp   ESTAB  0      56                     45.58.38.21:ssh         27.61.161.61:8363                                                                            
tcp   ESTAB  0      0                      45.58.38.21:ssh          45.58.38.21:51166                                                                           

Come puoi vedere, ci sono due connessioni attive dal client IP 45.58.38.21 e 27.61.161.61.

Conclusione

Nella guida sopra, abbiamo imparato come trovare connessioni SSH attive con metodi diversi. Ora puoi monitorare facilmente chi ha effettuato l'accesso al tuo server.