SSH è un protocollo di rete crittografica che consente di controllare e modificare un computer remoto su Internet. Questo protocollo garantisce la sicurezza anche attraverso una rete vulnerabile. La maggior parte dei distro Linux utilizza OpenSSH, un progetto open source che implementa il protocollo SSH.
In questa guida, dimostreremo come verificare se SSH è in esecuzione su Linux.
SSH in esecuzione su Linux
Esistono più metodi per rilevare se SSH è attualmente in esecuzione sul sistema.
Si noti che SSH è diviso in due sezioni in termini di funzionalità: il client SSH e il server SSH. Il client si collega al server utilizzando il protocollo SSH. Una chiave SSH è la misura di sicurezza predefinita per proteggere la connessione.
Se SSH è installato e abilitato, è probabile che il server SSH sia attivo e in esecuzione sul sistema, in attesa di una richiesta di connessione SSH. Possiamo rilevare se il server SSH è in esecuzione, ma non fornisce informazioni se una connessione SSH è attiva. Possiamo verificare che se la porta SSH è attualmente aperta.
Processo ssh
Questo è il primo passo per verificare se SSH è attualmente in esecuzione. Stiamo cercando lo stato del processo SSHD. Questa guida in dettaglio funzionante con i processi Linux.
Utilizzare il comando PS per elencare tutti i processi e filtrare l'output utilizzando GREP per verificare se il processo SSH è in esecuzione.
$ ps aux | grep sshd
A seconda dello stato del processo, l'output differirà.
Porta ssh
Ogni processo/servizio in Linux ottiene la sua porta dedicata per comunicare sulla rete. SSH, per impostazione predefinita, è configurato per utilizzare la porta 22 per la comunicazione remota. Si noti che è possibile configurare una porta diversa per SSH. È una buona misura di sicurezza per impedire a vari attacchi, ad esempio DDoS o Brute-Force.
Anche se un programma è dedicato a una porta specifica, la porta non sarà aperta se il programma non è in esecuzione. Possiamo usare questo trucco per verificare se SSH è in esecuzione. Se la porta è aperta, allora SSH è attivo e funzionante.
Per controllare l'elenco delle porte aperte, utilizzeremo lo strumento NetStat. È uno strumento dedicato per la stampa di varie informazioni di rete come connessioni di rete, tabelle di routing, statistiche di interfaccia, ecc. Questa guida dimostra l'uso approfondito di NetStat.
Il comando seguente verificherà se SSH sta ascoltando la porta 22. Se SSH è configurato per ascoltare una porta diversa, usa invece quella porta.
$ netstat -plant | grep: 22
Un metodo alternativo per controllare le porte aperte è controllare il file della porta. Il seguente comando stamperà l'elenco di tutti i file di porta aperta.
$ lsof -i
Un altro metodo è quello di Telnet alla porta SSH.
$ telnet localhost 22
A seconda che la porta 22 sia aperta, l'output varierà.
Servizio SSH
Stato del servizio SSH
Il servizio SSH gestisce lo stato della funzione. Il seguente comando stamperà lo stato del servizio SSH.
$ sudo systemctl status sshd
$ SERVIZIO STATO SSHD
Fermare SSH
Per impostazione predefinita, SSH è configurato per iniziare a avvio. Se al momento avere SSH al momento non è necessario, allora possiamo fermarlo. Si noti che richiede l'account root o l'utente non root con privilegio sudo di modificare il servizio.
Il seguente comando fermerà il servizio SSH.
$ sudo systemctl stop sshd
$ sudo servizio sshd stop
Iniziare SSH
Se SSH non è attivo e funzionante, inizia il servizio SSH. Dovrebbe caricare tutti i componenti e pronto ad accettare le connessioni SSH.
$ sudo systemctl avvia sshd
$ sudo servizio sshd start
Abilitazione/disabilitazione di SSH
Se un servizio è abilitato, significa che il sistema avvierà il servizio all'avvio. Il sistema non avrà un servizio disabilitato all'avvio.
Il comando seguente disabiliterà il servizio SSH. Si noti che per utilizzare SSH in seguito, il servizio deve essere avviato manualmente.
$ sudo systemctl disabilita sshd
Il seguente comando segnerà il servizio SSH "abilitato".
$ sudo systemctl abilita sshd
Pensieri finali
SSH è una caratteristica potente che rende molto più semplice la gestione remota. La sua natura e semplicità sicure inerenti lo rendono lo standard del settore per la gestione dei sistemi remoti. SSH è parte integrante della vita quotidiana di un amministratore di sistema.
Lavorare con più sistemi remoti? Quindi considera di usare Ansible per gestirli tutti. Ansible è un sistema di gestione della configurazione che utilizza SSH per connettere e gestire più sistemi remoti. È un framework robusto per gestire tutti i tuoi sistemi remoti da un unico posto.
Felice calcolo!