Come trovare connessioni SSH attive su Linux
Su questa pagina
- Prerequisiti
- Trova connessione SSH attiva con il comando who
- Trova connessione SSH attiva con il comando w
- Trova connessione SSH attiva con il comando ps
- Trova connessione SSH attiva con il comando netstat
- Trova connessione SSH attiva con l'ultimo comando
- Trova connessione SSH attiva con il comando ss
- 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.