Come risolvere gli errori "Connessione rifiutata" nella connessione SSH?


96

Ho un Ubuntu Server 10.10 a 32 bit a casa mia. Sto effettuando connessioni SSH dal mio PC tramite Putty.

Il problema è che a volte sono in grado di accedere senza problemi. Tuttavia, a volte mi dà un errore come questo:Network error: Connection refused.

Quindi, non cambio nulla, provo ad accedere alcune volte in più, attendo qualche istante e riprovo. A volte posso accedere, a volte no. Mi sembra abbastanza casuale.

Cosa posso fare per risolvere questo?

Modificare:

E a volte, Putty dà un Network error: Software caused connection aborterrore dopo aver visualizzato il login as:testo.

Ecco l'output ping -t:

Pinging 192.168.2.254 with 32 bytes of data:
Reply from 192.168.2.254: bytes=32 time=6ms TTL=64
Reply from 192.168.2.254: bytes=32 time=65ms TTL=6
Reply from 192.168.2.254: bytes=32 time=88ms TTL=6
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=3ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64

Ho disattivato il firewall del router e tutto sembra funzionare ora. Tranne quello, non riesco ancora ad accedere al mio server web digitando IP esterno dal mio PC.


la prossima volta schizza fuori così; esegui di nuovo un ping, funziona ancora? quante persone ssh su questa macchina?
myusuf3,

Solo io ssh questo server.
Frbry,

Esattamente lo stesso problema qui, anche ottenere un mix di connessioni riuscite (che poi funzionano per ore), 'connessione rifiutata' e 'software ha causato l'interruzione della connessione' dopo il login o la password. Per fornire alcuni dettagli aggiuntivi: nel mio caso è una macchina virtuale a 64 bit (che esegue Ubuntu Server 10.10) su un host Microsoft Hyper-V, usando l'emulazione "vecchia scheda di rete".
hheimbuerger

SSH è installato sul tuo server?
Willian Soares,

Risposte:


82

Devi installare openssh-server su Linux prima che funzioni. Ottieni l'indirizzo IP interno di Ubuntu e usalo per configurare il port forwarding sulla porta 22 (SSH) sezione del tuo router. Tuttavia, se non si intende SSH al di fuori della propria rete, ciò non è necessario.

Ecco come installare openssh-server:

sudo apt-get install openssh-server openssh-client
[ENTER PASSWORD]

10
Non risponde direttamente alla domanda ma è utile in quanto Ubuntu non viene preinstallato con il server SSH.
Ostati,

Recentemente ho avuto un nuovo laptop e ho completamente dimenticato che non è installato di default = D
Izkata

40

Il conflitto di indirizzi IP si è rivelato essere la causa principale quando stavo vedendo questo messaggio di errore SSH.

Dopo aver letto le risposte sopra ho sospettato un conflitto di indirizzi IP, ma dovevo dimostrare che il conflitto di indirizzi era o non era il problema.

Questo fantastico articolo mostra come usare arp-scan per vedere se due componenti hardware rivendicano lo stesso indirizzo IP.

Nel mio caso la macchina server aveva un indirizzo IP statico di 192.168.1.42, ho usato arp-scan per controllare quell'indirizzo:

$ sudo apt-get install arp-scan
$ arp-scan -I eth0 -l | grep 192.168.1.42
  192.168.1.42 d4:eb:9a:f2:11:a1 (Unknown)
  192.168.1.42 f4:23:a4:38:b5:76 (Unknown) (DUP: 2)

Abbastanza sicuro c'è stato un conflitto, come mostrato sopra. Quindi ho eseguito arp-scan senza grep, ho scoperto che .43 era disponibile, sono andato e modificato /etc/network/interfacese ho cambiato l'ip statico da .42 a .43


In realtà l'esecuzione di quel comando mostrava solo una riga sulla mia scatola, tranne per il fatto che il nome era quello di un altro dispositivo.
Assylias,

Grazie mille per il punto nella giusta direzione sul conflitto di indirizzi IP. Ha avuto un problema simile! +1
DominikAngerer il

Mi ha fatto risparmiare così tanto tempo ... complimenti ...
Chris Barlow,

A volte il mio router deve solo essere riavviato per risolvere questo problema.
Gabriel Staples,

14

Utilizzare arpingsull'indirizzo IP che presenta problemi di connessione. Ciò mostrerà l'indirizzo MAC per ogni risposta ping e, si spera, smaschererà l'indirizzo MAC canaglia.

arping 192.168.2.254

È necessario controllare il pool di indirizzi IP DHCP sul server DHCP, assicurarsi che nessun dispositivo abbia IP statici che si scontrano con il pool DHCP.

Questi indizi indicano un IP duplicato:

  • ping ttl e round trip time sembrano 2 server distinti
  • disconnessione intermittente senza riavvio

Eccellente, mi ha indicato la strada giusta! È stato in grado di rintracciarlo dal secondo indirizzo MAC su quale porta era e cambiare l'IP della stampante
Canadian Luke,

1
Ho dovuto aggiungere -I wlan0 (wlan0 essendo il mio dispositivo wifi)
guhur

6

Ho avuto lo stesso problema, anche se avevo un indirizzo IP statico. Si scopre che a un altro server sulla mia rete era stato assegnato lo stesso indirizzo IP (statico). (Duh.) Quindi sembra che il problema sia causato da conflitti di indirizzi IP, ma ci possono essere vari modi in cui possono accadere. Se imposti il ​​tuo su statico e hai ancora problemi, prova a spegnere il computer e a eseguire il ping dell'indirizzo. Se ricevi delle risposte, inizia a cercare cos'altro potrebbe avere lo stesso indirizzo.


1
Ho riscontrato gli stessi sintomi e l'ho rintracciato su una macchina con lo stesso indirizzo IP del server.
SabreWolfy,

4

Cosa ottieni se lo fai?

grep 192.168.2.25 /etc/hosts.deny

Se restituisce qualcosa, è necessario rimuoverlo.


10
Questo è uno dei famigerati "usi inutili di cat" - puoi semplicementegrep 192.168.2.25 /etc/hosts.deny
Tobias Kienzler,

@TobiasKienzler Risolto il problema
wjandrea

4

apri il file di ssh config:

sudo nano /etc/ssh/ssh_config

trova il porto

#port 22

rimuovere nitida l'opzione porta

quindi salva il file ctrl + xe riavvia il servizio

sudo service ssh restart

3

Questo sembra più un problema delle apparecchiature di rete che il server stesso.

Controlla / var / log / messaggi per il collegamento ethernet su / giù (o wlan in caso di wireless). In tal caso, prova a cambiare i cavi.


Sì, ho provato e sono riuscito a stabilire una connessione ssh dall'esterno della mia rete (in cui si trovano il mio server e il mio PC). Sembra funzionare bene. Il mio server è anche un web server. Quando provo a connettermi tramite la porta 80 dal mio PC, vedo la pagina di accesso del mio modem ADSL. Ma quando provo la stessa cosa da un altro computer esterno alla mia rete, vedo la pagina It Works di Apache.
Frbry,

Che cos'è l'IP del PC, l'IP del server e l'ip del router adsl interno?
forcefsck

PC: 192.168.2.2 (ricevuto da DHCP) Server: 192.168.2.254 (statico, fuori intervallo DHCP) Router ADSL: 192.168.2.1
venerdì

Sono un po 'confuso, quando ti connetti dalla porta 192.168.2.2 alla 192.168.2.254 80 ottieni l'accesso al modem adsl?
forcefsck

1
A meno che tu non abbia installato una sorta di proxy web sul tuo server, allora chiaramente il tuo modem adsl risponde alle richieste fatte a 192.168.2.254 e probabilmente è così quando ricevi l' Connection refusederrore con ssh. Quindi devi ricontrollare le impostazioni del tuo modem adsl.
forcefsck

3

Posso confermare questo preciso problema: non è un semplice problema di connettività. Il collegamento Ethernet non cambia stato; il server è raggiungibile tramite ping; ssh si collega in modo impeccabile di tanto in tanto, quindi apparentemente casualmente non si connette o la sessione ssh esistente cade. Ciò si verifica su Ubuntu 10.04 e 11.04. Seguendo il suggerimento di hheimbuerger ho dato al server un IP statico, questo sembrava risolverlo.

Soluzione alternativa: modificare l'adattatore da DHCP a statico.


1

Ho avuto esattamente lo stesso problema e nel mio caso si è rivelato un conflitto di indirizzi IP. La mia macchina virtuale Ubuntu aveva un indirizzo dinamico, ma a un'altra macchina (in questo caso un telefono) era assegnato un indirizzo IP statico che il server DHCP non conosceva.

La semplice modifica dell'IP assegnato dal server DHCP alla macchina virtuale Ubuntu ha risolto tutti i problemi di connessione.


1

È fondamentalmente a causa di uno dei seguenti motivi:

  1. Troppi utenti sulla rete tentano di accedere al server
  2. Più di un computer in rete ha lo stesso IP del server che causa un conflitto IP
  3. Il nome utente errato o le credenziali sono state revocate

0

Potresti voler controllare le tue iptablesregole sul tuo server. Sembra che tu abbia una regola per limitare le nuove connessioni SSH.

La regola successiva consente 5 nuove connessioni al minuto, se si supera questo limite, le nuove connessioni verranno rifiutate dopo un certo periodo di tempo:

-A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m limit --limit 5/min -j ACCEPT

Vedere la documentazione IPTables / Netfilter , scorrere un po 'fino a limit.


0

arp-scan mostra due dispositivi duplicati, ma quando eseguo Advanced IP scanner su Win8 sembrano tutti a posto. Quindi non sono sempre d'accordo.

Ho impostato il router per revocare tutti i contratti di locazione dicendogli di dare solo contratti di 1 ora. Gli darà il tempo di vedere se si risolve.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.