Come risolvere l’errore di SSH connessione rifiutata
SSH Connessione rifiutata questo errore può rappresentare un ostacolo frustrante quando si tenta di stabilire una connessione SSH (Secure Shell). Questo errore indica che il tentativo del client di connettersi al server remoto è stato rifiutato. La sfida nella risoluzione di questo errore è trovare la causa esatta. Nella maggior parte dei casi, gli utenti possono riscontrare questo errore a causa di configurazioni di porte o impostazioni di rete errate. Altri fattori chiave come le impostazioni del firewall, l’autenticazione della chiave SSH e la garanzia delle credenziali corrette svolgono un ruolo cruciale nel determinare se gli utenti devono affrontare l’SSH Connessione rifiutata.
Che tu stia lavorando con un server dedicato o remoto, comprendere i problemi sottostanti, come le impostazioni personalizzate della porta SSH, l’aderenza al protocollo di rete e le regole del firewall, è essenziale per risolvere il problema e stabilire connessioni SSH di successo.
7 soluzioni per correggere l’errore di connessione SSH rifiutata
L’SSH Connessione rifiutata L’errore in genere indica l’incapacità del client SSH di stabilire una connessione con il server SSH. Discutiamo le cause e le soluzioni appropriate per alcuni motivi comuni alla base di questo problema.
Client SSH non è installato
Inizia verificando che un client SSH sia installato correttamente sul sistema, poiché la mancanza del client SSH impedisce l’accesso SSH al server.
Per verificare se sul tuo sistema è installato un client SSH, inserisci semplicemente il seguente comando nel tuo terminale:
# ssh
Se vedi un elenco di opzioni, un client SSH è già installato sul tuo sistema. Al contrario, se ricevi un comando non trovato messaggio, devi installare il client OpenSSH (o un client SSH simile che preferisci).
Soluzione n. 1: installa un client SSH
Per configurare un client SSH sul tuo dispositivo, apri il terminale ed esegui uno dei seguenti comandi:
Per distribuzioni basate su Ubuntu/Debian
# sudo apt install openssh-client
Per distribuzioni CentOS/RHEL
# sudo yum install openssh-client
Assenza del demone SSH sul server
Il demone SSH (sshd) svolge un ruolo cruciale nell’autenticazione dei client e nella creazione di connessioni sicure. Di conseguenza, l’assenza di sshd sul server di destinazione o una sua configurazione errata comporterà il rifiuto delle connessioni in entrata.
Per confermare la configurazione SSH sul server remoto, eseguire il comando seguente:
# ssh localhost
Se l’output indica Connessione rifiutatadovresti installare SSH sul server remoto.
Soluzione n. 2: installa SSH sul server remoto
Esegui il comando seguente per installare SSH su un server remoto che esegue sistemi operativi Ubuntu/Debian:
# sudo apt install openssh-server
Causa n. 3: potresti utilizzare credenziali errate
Errori di battitura o credenziali errate portano a una connessione SSH negata. Questo corso copre tutti i casi in cui fornisci nome utente o password o utilizzi indirizzi IP errati. Eventuali incoerenze comportano un errore di autenticazione, con conseguente rifiuto della connessione.
Soluzione 3: verificare e correggere le inesattezze delle credenziali
Dopo aver confermato nome utente e password, assicurati di utilizzare l’indirizzo IP del server corretto. Suggeriamo di utilizzare IL ping comando e indirizzo IP per accertare l’accessibilità del server. Esegui il seguente comando:
# ping (server_ip_adress)
Il risultato indica una connessione di rete coerente tra la macchina e il server.
Servizio SSH è attualmente inattivo
Il servizio SSH deve essere attivato e operativo in background per garantire il corretto funzionamento. Il demone SSH non può accettare connessioni se il servizio non è in esecuzione.
Per verificare lo stato del servizio, eseguire il seguente comando nel terminale:
# sudo service ssh status
L’output indica che il servizio è attivo. In alternativa, se il servizio risulta inattivo, procedere con i passaggi successivi per attivarlo.
Soluzione n. 4: attiva il servizio SSH
Se il sistema indica che il demone SSH è inattivo, avviare il servizio eseguendo:
# systemctl start sshd
Puoi evitare questo problema abilitando l’avvio del servizio durante l’avvio del server eseguendo il comando seguente:
# sudo systemctl enable sshd
Tieni presente che non vedrai alcun messaggio di conferma o di stato per la corretta esecuzione di questi comandi.
Firewall sta bloccando la connessione SSH
A volte, le connessioni SSH vengono rifiutate a causa dei vincoli del firewall. Il firewall protegge il server da connessioni potenzialmente dannose. Se la funzionalità SSH è abilitata, è necessario modificare le regole del firewall per consentire le connessioni SSH.
Soluzione n. 5: abilitare le connessioni SSH tramite il firewall
Dimostreremo la soluzione per UFW (Uncomplicated Firewall).
Inizia eseguendo il comando seguente per consentire le connessioni SSH attraverso il firewall UFW:
# sudo ufw allow ssh
La porta SSH è chiusa
Tutte le richieste SSH vengono mappate su una porta specifica sul server remoto. Pertanto, la porta designata dovrebbe essere aperta e accessibile per consentire le connessioni SSH. Per verificare se il server è attivamente in ascolto sulla porta, eseguire il seguente comando:
# sudo lsof -i:22
Il risultato indica che lo STATO è configurato come LISTEN, indicando che la porta è aperta. Al contrario, il server rifiuterà la connessione se la porta è chiusa.
Un metodo alternativo per verificare se la porta è aperta è utilizzare:
# grep Port /etc/ssh/sshd_config
Come puoi vedere, la porta 22 sul server è chiusa. In questo scenario, l’azione corretta sarebbe aprirlo.
Soluzione n. 6: consentire l’accesso alla porta SSH
Per consentire alla porta 22 di accettare le richieste in entrata, utilizzare quanto segue iptables comando:
# sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
Non vedrai alcun messaggio di stato quando il comando ha esito positivo. In alternativa, è possibile aprire le porte tramite l’interfaccia utente grafica regolando le impostazioni del firewall.
Causa n. 7: problemi di connettività SSH imprevisti
Problemi come alterazioni della configurazione, problemi temporanei o aggiornamenti del software possono interrompere le connessioni SSH.
Un passaggio comune per la risoluzione dei problemi consiste nel riavviare il servizio SSH, che spesso risolve la maggior parte di questi problemi.
Soluzione n. 7: riavviare SSH
Eseguire il comando seguente per riavviare il servizio SSH:
# sudo service ssh restart
L’esecuzione di questo comando avvierà un riavvio del servizio SSH, che potrebbe potenzialmente correggere molti problemi sottostanti che interessano le connessioni SSH.
Debug e registrazione SSH
Ti consigliamo di attivare la modalità di debug per risolvere i problemi SSH su Linux piattaforme. I messaggi completi forniscono informazioni complete che aiutano a diagnosticare problemi di connessione, configurazione e autenticazione.
Esistono tre livelli di verbosità:
- Livello 1 (-v)
- Livello 2 (-vv)
- Livello 3 (-vvv)
Ti consigliamo di aggiungere il flag -v per informazioni di debug migliorate. Quindi, la sintassi per il comando SSH sarà la seguente:
# ssh -v (server_ip)
Per ulteriori informazioni sull’autenticazione, considera l’utilizzo della verbosità di livello 2:
# ssh -vv (server_ip)
Per una visione completa che includa i messaggi di debug relativi all’elaborazione dei pacchetti, optare per il livello 3:
# ssh -vvv (server_ip)
Pratiche di sicurezza SSH
Le misure di sicurezza SSH salvaguardano sistemi, dati e reti da una serie di minacce. Queste migliori pratiche stabiliscono un solido quadro di sicurezza e riducono la probabilità di violazioni riuscite.
Consigliamo quanto segue come misure di sicurezza SSH essenziali:
Utilizza password robuste
Stabilisci una politica a livello di organizzazione per l’utilizzo di password complesse che utilizzano una combinazione di lettere maiuscole e minuscole, numeri e caratteri speciali.
Implementare l’autenticazione con chiave SSH
Sostituisci le password con coppie di chiavi pubblica-privata SSH per un processo di autenticazione più affidabile.
Disabilita l’accesso root
Mitiga i rischi per la sicurezza disabilitando gli accessi root diretti.
Aggiorna regolarmente SSH
Mantieni aggiornato il software SSH per risolvere le vulnerabilità note.
Abilita Aggiornamenti automatici
Configura il sistema per installare automaticamente gli aggiornamenti software SSH, garantendo la rapida applicazione delle patch di sicurezza critiche.
Limita l’accesso utente
Limita l’accesso SSH solo agli utenti autorizzati.
Utilizza porte non standard
Migliora la sicurezza mappando i processi SSH su una porta non standard. Ciò impedisce tutti gli attacchi diretti alla porta SSH standard 22.
Distribuire l’autenticazione a due fattori (2FA)
Ciò introduce un ulteriore livello di sicurezza, richiedendo agli utenti di fornire due forme distinte di identificazione per l’accesso all’account.
Crittografa il traffico SSH
La crittografia del traffico SSH è un aspetto fondamentale per proteggere la trasmissione dei dati tra client e server durante le sessioni SSH.
Risoluzione dell’SSH Connessione rifiutata L’errore è indispensabile per stabilire una connessione sicura al tuo server tramite SSH. Gli utenti possono risolvere in modo efficace questo messaggio di errore seguendo i passaggi descritti in questa guida, inclusa la garanzia del corretto utilizzo del comando SSH, la risoluzione dei problemi relativi alle restrizioni del firewall e la considerazione di problemi comuni come le impostazioni del firewall non configurate correttamente o il tentativo di connessione tramite la porta predefinita.