{"id":4679,"date":"2023-04-11T21:38:35","date_gmt":"2023-04-11T20:38:35","guid":{"rendered":"https:\/\/www.gcportal.com\/wordpress\/?p=4679"},"modified":"2023-04-11T21:38:35","modified_gmt":"2023-04-11T20:38:35","slug":"come-mostrare-tutte-le-connessioni-ssh-attive-in-linux","status":"publish","type":"post","link":"https:\/\/www.gcportal.com\/wordpress\/archives\/4679","title":{"rendered":"Come mostrare tutte le connessioni SSH attive in Linux"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">SSH \u00e8 un protocollo popolare ed efficace che ti consente di accedere e gestire host remoti dal tuo computer locale.&nbsp;Con questa guida vedremo alcuni dei comandi che si possono utilizzare per verificare la presenza di connessioni SSH attive sull&#8217;host remoto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Nota:<\/strong>&nbsp;<em>a seconda della configurazione del sistema, alcuni dei comandi di cui parleremo potrebbero richiedere l&#8217;accesso come root o&nbsp;i privilegi sudo.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Utilizzando il comando who<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il primo comando che pu\u00f2 essere usato per mostrare le connessioni SSH attive \u00e8 il&nbsp;comando who.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il&nbsp;comando who viene utilizzato per mostrare chi \u00e8 attualmente connesso al sistema.&nbsp;Ci permette di visualizzare gli utenti connessi e gli indirizzi IP di origine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per utilizzare il&nbsp;comando who \u00e8 sufficiente inserire&nbsp;<code>who<\/code> senza parametri.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">zipixel@zpxc321:~$ who<br>zipixel tty7 2023-03-14 15:39 (:0)<br>zipixel pts\/0 2023-04-11 14:20 (192.168.188.175)<br>zipixel@zpxc321:~$<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nell&#8217;output sopra, possiamo vedere un utente debian\/mint connesso tramite tty e una sessione SSH da un indirizzo IP remoto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c8 inoltre possibile aggiungere parametri al&nbsp;comando <strong><em>who <\/em><\/strong>per visualizzare informazioni dettagliate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ad esempio, per mostrare l&#8217;ultimo avvio per gli utenti connessi, aggiungi i flag&nbsp;<code>-b -u<\/code> :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">zipixel@zpxc321:~$ who -b -u<br>avvio di sistema 2023-03-14 15:27<br>zipixel tty7 2023-03-14 15:39 fa 2756 (:0)<br>zipixel pts\/0 2023-04-11 14:20 . 609266 (192.168.188.175)<br>zipixel@zpxc321:~$ who -b -u<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il&nbsp;<code>who<\/code>comando offre pi\u00f9 opzioni per ottenere risultati personalizzati.&nbsp;<a href=\"https:\/\/linux.die.net\/man\/1\/who\">Consulta la pagina del manuale per saperne di pi\u00f9.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Utilizzando il comando W<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il comando successivo che possiamo utilizzare per mostrare lo stato delle varie sessioni SSH e degli utenti connessi al server \u00e8 il&nbsp;comando w.&nbsp;A differenza del&nbsp;comando who, il&nbsp;comando w fornisce maggiori informazioni sui processi in esecuzione per ciascun utente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inoltre, il&nbsp;comando w ti fornir\u00e0 informazioni sulle connessioni SSH inattive, che sono molto utili quando devi terminarle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se esegui il comando senza altre opzioni, dovresti ottenere un output simile a quello qui sotto.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">zipixel@zpxc321:~$ w<br>14:25:07 up 27 days, 21:57, 2 users, load average: 0,40, 0,44, 0,58<br>USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT<br>zipixel tty7 :0 14mar23 27days 34:07 2.15s cinnamon-session --session cinnamon<br>zipixel pts\/0 192.168.188.175 14:20 1.00s 0.08s 0.01s w<br>zipixel@zpxc321:~$<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nell&#8217;esempio sopra, il&nbsp;comando w fornisce informazioni dettagliate, come il nome utente, il metodo TTY, l&#8217;indirizzo IP di origine, l&#8217;ora di accesso, il tempo di inattivit\u00e0 e altro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Come il&nbsp;comando who, puoi anche usare il&nbsp;comando w con vari parametri.&nbsp;La tabella seguente mostra i vari parametri che \u00e8 possibile utilizzare con il&nbsp;<code>w<\/code>comando.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parametro<\/th><th>Cosa fa<\/th><\/tr><\/thead><tbody><tr><td>-h, \u2013no-header<\/td><td>Informa il terminale di non stampare l&#8217;intestazione<\/td><\/tr><tr><td>-u, \u2013no-current<\/td><td>Richiede al terminale di ignorare il nome utente poich\u00e9 visualizza i processi degli utenti connessi e il tempo della CPU<\/td><\/tr><tr><td>-s, \u2013short<\/td><td>Indica al terminale di stampare un output abbreviato, escludendo il tempo di accesso, JCPU e PCPU<\/td><\/tr><tr><td>-f, -from<\/td><td>Abilita\/disabilita l&#8217;opzione FROM dell&#8217;output di stampa<\/td><\/tr><tr><td>-help<\/td><td>Visualizza le varie opzioni\/parametri del comando w ed esce<\/td><\/tr><tr><td>-v, \u2013version<\/td><td>Visualizza informazioni sulla versione ed esce<\/td><\/tr><tr><td>user<\/td><td>Restringe i risultati all&#8217;utente specificato<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L&#8217;esempio seguente mostra il&nbsp;comando w utilizzato con i parametri&nbsp;-se&nbsp;<code>-f<\/code> per mostrare un output abbreviato delle sessioni SSH correnti con la parte FROM troncata.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Utilizzo del comando last<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Puoi anche utilizzare il&nbsp;comando <strong><em>last <\/em><\/strong>per mostrare tutte le sessioni SSH connesse.&nbsp;L&#8217;ultimo comando mostra l&#8217;elenco degli ultimi utenti che hanno effettuato l&#8217;accesso.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">zipixel@zpxc321:~$ last<br>zipixel pts\/0 192.168.188.175 Tue Apr 11 14:20 still logged in<br>zipixel pts\/0 192.168.188.175 Sun Apr 2 21:09 - 22:16 (01:07)<br>zipixel pts\/0 192.168.188.134 Thu Mar 30 20:57 - 23:46 (02:49)<br>zipixel pts\/0 192.168.188.175 Sun Mar 26 14:04 - 14:05 (00:00)<br>zipixel pts\/0 192.168.188.175 Thu Mar 23 20:48 - 23:32 (02:43)<br>zipixel pts\/0 192.168.188.175 Thu Mar 23 15:44 - 16:44 (01:00)<br>zipixel pts\/0 192.168.188.175 Wed Mar 22 17:02 - 17:22 (00:20)<br>zipixel pts\/0 192.168.188.175 Tue Mar 21 22:09 - 22:31 (00:22)<br>zipixel pts\/0 151.44.182.174 Tue Mar 21 11:32 - 13:52 (02:20)<br>zipixel pts\/0 82.102.21.26 Tue Mar 21 09:10 - 09:20 (00:10)<br>zipixel pts\/0 192.168.188.175 Mon Mar 20 18:42 - 23:54 (05:12)<br>zipixel pts\/0 192.168.188.175 Mon Mar 20 16:52 - 18:07 (01:15)<br>zipixel pts\/0 192.168.188.175 Sun Mar 19 18:19 - 19:07 (00:48)<br>zipixel pts\/0 192.168.188.175 Fri Mar 17 22:19 - 23:58 (01:39)<br>zipixel pts\/0 192.168.188.175 Thu Mar 16 21:37 - 00:03 (02:26)<br>zipixel pts\/0 192.168.188.175 Thu Mar 16 15:54 - 17:01 (01:06)<br>zipixel pts\/0 192.168.188.175 Thu Mar 16 09:41 - 11:26 (01:45)<br>zipixel pts\/0 192.168.188.175 Wed Mar 15 23:57 - 00:00 (00:02)<br>zipixel pts\/1 151.57.123.214 Wed Mar 15 14:01 - 16:23 (02:22)<br>zipixel pts\/1 151.57.123.214 Wed Mar 15 13:56 - 14:01 (00:04)<br>zipixel pts\/0 151.57.123.214 Wed Mar 15 13:38 - 15:50 (02:11)<br>zipixel pts\/0 151.35.119.89 Wed Mar 15 10:30 - 10:30 (00:00)<br>zipixel pts\/0 192.168.188.175 Tue Mar 14 23:29 - 23:58 (00:28)<br>zipixel pts\/0 192.168.188.175 Tue Mar 14 21:56 - 23:29 (01:32)<br>zipixel pts\/0 192.168.188.175 Tue Mar 14 15:39 - 18:57 (03:17)<br>zipixel tty7 :0 Tue Mar 14 15:39 gone - no logout<br>reboot system boot 5.15.0-67-generi Tue Mar 14 15:27 still running<br>zipixel pts\/0 192.168.188.175 Tue Mar 14 15:18 - 15:20 (00:02)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Poich\u00e9 l&#8217;output dell&#8217;ultimo comando \u00e8 enorme, possiamo usare il&nbsp;comando grep per mostrare solo le sessioni attive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per esempio:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>$ last  |  grep still<\/strong><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">zipixel@zpxc321:~$ last | grep still<br>zipixel pts\/0 192.168.188.175 Tue Apr 11 14:20 still logged in<br>reboot system boot 5.15.0-67-generi Tue Mar 14 15:27 still running<br>zipixel@zpxc321:~$<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c8 inoltre possibile modificare l&#8217;output dell&#8217;ultimo comando per mostrare informazioni dettagliate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ad esempio, per mostrare i nomi utente e i domini completi, possiamo utilizzare il&nbsp;<code>-w<\/code>flag.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>$ last -w<\/strong><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il comando <strong><em>last <\/em><\/strong>supporta numerose opzioni.&nbsp;Ecco le opzioni pi\u00f9 comunemente utilizzate per l&#8217;ultimo comando.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Parametro<\/th><th>Cosa fa<\/th><\/tr><\/thead><tbody><tr><td>-a, \u2013hostlast<\/td><td>Visualizza il nome host nell&#8217;ultima colonna<\/td><\/tr><tr><td>-d, \u2013dns<\/td><td>Linux memorizza il nome host e l&#8217;indirizzo IP di tutti gli host remoti.&nbsp;Questo parametro trasforma l&#8217;IP in un nome host<\/td><\/tr><tr><td>-file, \u2013file<\/td><td>Informa l&#8217;ultimo comando di utilizzare un file designato diverso da \/var\/log\/wtmp<\/td><\/tr><tr><td>-F, \u2013fulltimes<\/td><td>Richiede per ultimo di stampare tutte le date e gli orari di accesso e disconnessione<\/td><\/tr><tr><td>-i, \u2013ip<\/td><td>Simile a \u2013dns, tranne che invece di mostrare il nome host dell&#8217;host, mostra il numero IP<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4. Utilizzo del comando netstat<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Non possiamo dimenticare il&nbsp;<code>netstat<\/code>comando.&nbsp;Netstat viene utilizzato per mostrare tutte le connessioni di rete, le interfacce di rete, le tabelle di routing e altro ancora.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puoi anche utilizzare il comando netstat per filtrare le sessioni SSH stabilite o connesse sul tuo server Linux:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>$ netstat <\/strong> <strong>| <\/strong> <strong>grep <\/strong> <strong>ssh<\/strong><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il comando precedente mostra solo le connessioni SSH stabilite.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per mostrare tutte le connessioni, inclusi l&#8217;ascolto e il non ascolto, possiamo usare il&nbsp;flag -a come:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>$ netstat -a  |  grep  ssh<\/strong><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5. Utilizzo del comando ss<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se vuoi avere pi\u00f9 informazioni sulle sessioni SSH connesse, puoi usare il comando <strong><em>ss<\/em><\/strong>, che mostra i dati del socket, rendendolo simile a&nbsp;<strong><em>netstat<\/em><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ad esempio, passiamo a grep l&#8217;output del comando ss con l&#8217;&nbsp;opzione -a (all) per mostrare tutte le sessioni SSH connesse.&nbsp;La sintassi \u00e8:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>$ ss -a  |  grep  ssh<\/strong><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">L&#8217;output sopra mostra tutte le connessioni SSH sull&#8217;host remoto.&nbsp;Ci\u00f2 includer\u00e0 il demone SSHD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per filtrare le connessioni SSH stabilite, \u00e8 possibile reindirizzare l&#8217;output a grep.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>$ ss -a  |  grep  sh  |  grep ESTAB<\/strong><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">I comandi precedenti restituiranno solo le connessioni SSH attive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il&nbsp;comando <strong><em>ss <\/em><\/strong>ha anche tantissime altre opzioni che puoi usare per visualizzare varie informazioni sulle connessioni al server attivo.&nbsp;Ad esempio, puoi utilizzare il&nbsp;flag -e per mostrare pi\u00f9 informazioni sul socket.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Concludendo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c8 buona norma continuare a monitorare gli host remoti per gli accessi SSH non autorizzati e intraprendere le azioni necessarie, come proteggere il server o disabilitare l&#8217;autenticazione della password.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SSH \u00e8 un protocollo popolare ed efficace che ti consente di accedere e gestire host remoti dal tuo computer locale.&nbsp;Con questa guida vedremo alcuni dei comandi che si possono utilizzare [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":3479,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[5,86,93,95],"tags":[121,106,100],"class_list":["post-4679","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gcportal-links","category-guide-tutorial","category-linux","category-unix","tag-debian","tag-network","tag-ssh"],"_links":{"self":[{"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/posts\/4679","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/comments?post=4679"}],"version-history":[{"count":7,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/posts\/4679\/revisions"}],"predecessor-version":[{"id":4701,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/posts\/4679\/revisions\/4701"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/media\/3479"}],"wp:attachment":[{"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/media?parent=4679"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/categories?post=4679"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/tags?post=4679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}