ssh appeso quindi time out


8

Sono nuovo di ssh su Linux. Ho due computer collegati su un interruttore. Il primo è 192.168.1.2 e il secondo è 192.168.1.3. Quando uso il pingcomando ho ricevuto una risposta e tutto va bene, ma quando uso ssh dal primo computer ssh -v user@192.168.1.3mi dà,

OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.2 [192.168.1.2] port 22.
debug1: connect to address 192.168.1.2 port 22: Connection timed out

Ho installato ssh su entrambe le macchine. Qualche idea su come posso risolvere questo problema?

Risposte:


1

Controlla queste cose:

  • La porta 22 si apre e può ricevere connessioni
  • Assicurarsi che OpenSSH o un altro processo SSH sia in esecuzione sul server
  • Assicurarsi che al file di configurazione SSH siano assegnati i valori appropriati

10
mmm. man sshd_config |grep -i appropriateappare vuoto su tutti i miei box Linux, e anche Solaris
vedi il

@sehe Il file non si trova in / etc / ssh /?

3
Questo mi ha reso <headdesk /> anche mentre ero a letto. Il sarcasmo fallisce. Ciò che ho (beffardo) suggerito, è che la documentazione non contiene informazioni sulle impostazioni appropriate (sic)
vedi

grazie di tutto, in realtà la porta 22 era chiusa, quindi ho inserito questo comando [codice] iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 22 -j ACCEPT [/ code]
sam

Grazie @norway, sto affrontando lo stesso problema. Come posso controllare quelle cose? Sto usando un hosting condiviso. Grazie.
abu abu

3

Suggerimenti per la risoluzione dei problemi:

  • Puoi ssh localhostsul server?
  • Gli utenti sono ammessi? ( AllowUsersimpostazione)
  • Ti leghi alla scheda di rete esterna? (cerca ListenAddress 0.0.0.0o ListenAddress ::)
  • Sei in esecuzione sulla porta 22? ( Port)

    • Fondamentalmente controlla /etc/ssh/sshd_config.
  • Aggiunto : è possibile utilizzare netstat -tlpn | grep 22per scoprire quali programmi (se presenti) sono in ascolto sulla porta 22 ( eseguire come root per vedere i nomi dei processi ).

Inoltre, considera l'utilizzo di una porta esplicita connect invece di ping (es. nmap -PN remote -p22O anche solo telnet remote 22)


1

Lo so, la domanda riguarda la rete privata, ma ho avuto un output simile quando stavo tentando di accedere a un dispositivo via Internet. Dopo aver cercato su Google, ho trovato questa domanda; quindi, anche se potrebbe non rispondere alla domanda, altri potrebbero trovare utile la mia risposta. Nel mio caso, si è scoperto che il mio ISP sta bloccando la porta 22 / TCP.

Se stai tentando di accedere a un dispositivo tramite Internet, ci sono sostanzialmente cinque possibilità:

  1. La connessione di rete potrebbe non essere in corso tra le macchine. Prova a eseguire il ping dell'indirizzo IP della macchina server. Se non riesci a ricevere alcun pacchetto, prova a controllare la connessione di rete su entrambi i computer.
  2. Il server SSH potrebbe non essere configurato correttamente. Prova SSHing nel dispositivo localmente (dallo stesso dispositivo e utente allo stesso dispositivo e utente) tramite:

    ssh localhost
    
  3. Se la macchina server è connessa a Internet tramite un router, il port forwarding potrebbe non essere configurato in modo appropriato. Quindi, controlla la configurazione del port forwarding sul tuo router.

  4. Il firewall locale sul computer server potrebbe filtrare la connessione in entrata. Prova ad autorizzare le connessioni in entrata sulla porta 22 / TCP nelle regole del tuo firewall o a disabilitare temporaneamente il firewall del tutto.
  5. Uno o entrambi gli ISP potrebbero filtrare la connessione. Prova a cambiare la porta sul server in qualcosa come 2222, riavviando il server SSH e SSHing usando la nuova porta. È possibile specificare la porta sul computer client tramite l' -popzione nel comando in questo modo:

    ssh USER@HOST -p PORT
    

0

Innanzitutto, controlla se SSH è in esecuzione sul lato ricevente. Accedi al computer remoto e prova a ssh su localhost (ssh sullo stesso computer su cui ti trovi).

ssh -v myUserName@localhost

Questo dovrebbe richiedere la password e quindi accedere allo stesso computer. Se questo non funziona, significa che su questo host non è abilitato SSH. L'abilitazione di "accesso remoto" su questo server dovrebbe risolvere il problema.

Se tuttavia sei stato in grado di inviare ssh dal server di destinazione a se stesso correttamente, allora il problema è probabilmente da qualche parte nel mezzo. La prossima cosa da controllare sono i firewall sull'host di origine per assicurarsi che non stiano bloccando ssh.


1
Chiamo hand-waivy: Enabling "remote login"non significa nulla. Risolvere il problema dovrebbe anche abilitare "login remoto", FWIW
vedere il

0

Se openssh-server è già installato, potrebbe essere il blocco del firewall ... supponendo che tu abbia abilitato ufw.

Se si passa dalla macchina 192.168.1.2 alla macchina di destinazione 192.168.1.3. Sulla macchina target do ... Sudo uww consentire dal 192.168.1.2. E viceversa sarebbe utile


0

[Questa è la mia prima risposta in assoluto, chiedo critiche costruttive se necessario. Grazie. :)]

Può essere il caso che ti venga bandito dal computer di destinazione, ad esempio perché hai dato una password errata più volte.

Modifica /etc/fail2ban/jail.localsulla macchina target ( 192.168.1.3nel tuo caso). Questo può essere fatto se puoi sshsu questa macchina da un'altra dove non sei vietato.

Completa la riga ignoreipsotto [DEFAULT]con l'indirizzo IP del tuo computer di origine:

[DEFAULT]

ignoreip = 192.168.1.2

-1

Controlla le seguenti cose:

1) Esegui nmap localhost e controlla lo stato della porta 22

2) Sul secondo computer con cui si desidera connettersi tramite ssh, eseguire ssh localhost

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.