(Risolto) Connessione SSH rifiutata su Ubuntu e Debian

25 ott 2022 3 min di lettura
(Risolto) Connessione SSH rifiutata su Ubuntu e Debian
Indice dei contenuti

Introduzione

L'errore "Connection Refused" significa che il computer non accetta richieste di connessione all'indirizzo IP e alla porta richiesti. Le richieste di connessione possono essere bloccate da un firewall, motivo per cui viene visualizzato "Connection refused".

Quando un computer riceve una richiesta di connessione da un indirizzo IP e da una porta a cui desidera connettersi, ma il firewall blocca la connessione, viene visualizzato il messaggio di errore "Connessione rifiutata" (Connection refused). "Connessione rifiutata" può essere dovuto a un firewall che blocca le richieste di connessione. In alcuni casi, nessuno dei servizi è in ascolto sulla porta richiesta causa anche l'errore "Connessione rifiutata".

Il problema

Potresti riscontrare un errore "Port 22: Connection refused" durante la connessione SSH a questo sistema. Potresti renderti conto che non esiste un server SSH in esecuzione sul sistema appena installato.

Come risolvere l'errore "Port 22: Connection refused".

Ci sono 4 motivi comuni dietro questo errore. Uno o più dei seguenti motivi possono essere la causa dell'errore:

  • Il server SSH non è installato
  • Il servizio SSH non è attivo
  • Il servizio SSH è in esecuzione su una porta diversa
  • La porta SSH è bloccata dal firewall

Discutiamo tutte le possibili soluzioni una per una.

1. Il server SSH non è installato

OpenSSH viene utilizzato per il servizio SSH su sistemi basati su Debian. Alcuni dei sistemi appena installati potrebbero non avere il demone SSH. Molto probabilmente, quando installi un nuovo sistema desktop, i pacchetti OpenSSH non sono inclusi per impostazione predefinita.

Puoi eseguire i seguenti comandi per installare il servizio ssh sul tuo sistema:

sudo apt udpate && sudo apt install openssh-server

Al termine dell'installazione, puoi connetterti al tuo sistema sulla porta 22. Se i problemi persistono, verifica per altri motivi definiti di seguito.

2. Verificare che il servizio SSH sia attivo e in esecuzione

In genere, il servizio SSH viene avviato automaticamente dopo l'installazione. Ma potrebbe essere il servizio interrotto per qualche motivo. Per verificare lo stato corrente del servizio SSH, eseguire:

sudo systemctl status ssh 

Se il servizio SSH non è in esecuzione o non è attivo, utilizzare i comandi indicati di seguito per abilitare il servizio all'avvio del sistema e avviare il servizio:

sudo systemctl enable ssh 
sudo systemctl start ssh 

Una volta che il servizio è stato avviato correttamente, puoi connetterti al tuo sistema tramite ssh. Nel caso in cui dovessi riscontrare ancora lo stesso errore, controlla il prossimo possibile problema.

3. Il servizio SSH è in esecuzione su una porta diversa

Potrebbe essere che il servizio SSH sia in ascolto su una porta diversa. Questa è anche una procedura consigliata per la protezione dei server. Puoi scoprire la porta del server SSH eseguendo il comando seguente:

ss -tulpn | grep ssh 

Il servizio SSH potrebbe essere in ascolto sulla porta 2222 oppure su altre porte. Dovresti connettere il sistema remoto con SSH sulla porta 22. Possiamo definire un numero di porta con una connessione SSH come il comando indicato di seguito:

ssh -p 2222 [email protected] 

Spero che questo risolva il tuo problema. Se stai ancora affrontando lo stesso problema, controlla il suggerimento seguente.

4. La porta SSH è bloccata dal firewall

Questa è la causa più comune per cui il firewall blocca le richieste.

Ora devi identificare quale firewall stai utilizzando. Se il sistema remoto si trova sull'hosting cloud, controlla il gruppo di sicurezza di tale hosting.

Sui sistemi con accesso fisico, può verificare se UFW o Firewalld è attivo.

  • Usando UFW

Controlla lo stato del firewall UFW con il comando seguente:

sudo ufw status 

Se il firewall è in uno stato attivo, puoi aprire la porta 22 con il comando indicato di seguito:

sudo ufw allow 22/tcp 
  • Utilizzando FirewallD

Controlla se il demone firewalld è attivo e in esecuzione:

sudo systemctl status firewalld 

Se l'output mostra Active: active (running), puoi aprire la porta SSH eseguendo il comando seguente:

sudo firewall-cmd --permanent --zone=public --add-port=80/tcp   

Quindi ricaricare il firewall per applicare le modifiche:

sudo firewall-cmd --reload  

Conclusione

In questo post del blog, abbiamo discusso quattro possibili problemi per l'errore "Port 22: Connection refused". Fornisce anche le soluzioni per ogni problema. Spero che questo tutorial aiuti a risolvere il tuo problema.

Se hai trovato qualche altro motivo per questo problema, per favore menzionalo nel commento.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.