Perché tutti i miei tentativi SSH falliscono a causa del timeout?


22

Sono nuovo nell'uso di ssh e tecnologie correlate, quindi è molto probabile che non capisca qualcosa di base. (Questa potrebbe anche essere una domanda per Server Fault invece .... non ne sono sicuro.)

Sto provando a ssh in un server Web (che possiedo) e la connessione non viene mai stabilita a causa del timeout.

~ $ ssh -vvv DOMAIN.com
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/USER/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to DOMAIN.com [123.45.67.89] port 22.
debug1: connect to address IPADD port 22: Operation timed out
ssh: connect to host DOMAIN.com port 22: Operation timed out

Il mio primo pensiero fu che avevo in qualche modo specificato il dominio sbagliato o che qualcosa non andava nel mio sito. Quindi ho provato a collegarmi allo stesso dominio tramite FTP, e ha funzionato bene (è stato richiesto il nome utente):

~ $ ftp
ftp> open
(to) DOMAIN.com
Connected to DOMAIN.com.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 2 of 50 allowed.
220-Local time is now 12:47. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (DOMAIN.com:USER):

Quindi allora ho pensato che forse stavo solo usando SSH sbagliato. Ho iniziato a guardare questo video tutorial . A circa 1 minuto fa ssh will@supercars.come ottiene un prompt del nome utente, ma mi dà lo stesso timeout di cui sopra. Ho quindi provato ssh google.comche fa lo stesso. ssh localhostd'altra parte, funziona benissimo. Quindi il problema sembra avere qualcosa a che fare con le richieste SSH su una rete.

Il mio prossimo pensiero è stato che potrebbe trattarsi di un problema con il firewall. Sophos è installato su questa macchina, ma secondo il mio amministratore "non dovrebbe" bloccare le richieste SSH in uscita.

Qualcuno può aiutare a capire perché questo sta accadendo?


8
Questo è un indirizzo IP live che ci stai fornendo. Ha una connessione FTP non protetta in esecuzione su di essa. Questa potrebbe non essere una buona idea. Inoltre non ha nulla in esecuzione sulla porta 22, che sospetto sia la fonte dei tuoi problemi. Non puoi semplicemente ssh in nulla, il server deve avere un sshd in esecuzione, questo sembra non farlo. Se è il tuo server, attiva ssh e disattiva ftp. Puoi fare ftp su ssh quando è in esecuzione.
Marin

3
Non è necessario eliminare. Ho modificato l'IP e ho chiesto a SE di eliminare la cronologia delle modifiche. In questo modo, la persona che ti ha risposto non perde alcuna reputazione.
terdon

Risposte:


24

Questo messaggio di errore indica che il server a cui ci si sta connettendo non risponde ai tentativi di connessione SSH sulla porta 22. Ci sono tre possibili ragioni per questo:

  1. Non stai eseguendo un server SSH sulla macchina. Dovrai installarlo per poterlo utilizzare.
  2. Stai eseguendo un server SSH su quella macchina, ma su una porta non standard. Devi capire su quale porta è in esecuzione; dire che è sulla porta 2222, quindi si esegue ssh -p 2222 hostname.
  3. Stai eseguendo un server SSH su quella macchina e utilizza la porta su cui stai tentando di collegarti, ma la macchina ha un firewall che non ti consente di collegarti. Dovrai capire come cambiare il firewall, o forse devi ssh da un host diverso per poter accedere.

EDIT : come (correttamente) sottolineato nei commenti, il terzo è certamente il caso; gli altri due porterebbero il server a inviare un pacchetto TCP "reset" al tentativo di connessione del client, con conseguente messaggio di errore "connessione rifiutata", piuttosto che il timeout che stai ricevendo. Anche gli altri due potrebbero essere il caso, ma è necessario correggere il terzo prima di poter andare avanti.


6
Se non fosse installato, o se fosse in esecuzione su una porta diversa, riceverà messaggi di rifiuto della connessione.
Capanna 8

2
@ Hut8: ha ragione. Delle tue 3 possibilità, solo la terza (firewall) potrebbe portare a timeout.
R ..

Su Ubuntu: sudo ufw allow 22; fai il tuo lavoro allora; sudo ufw deny 22. digitalocean.com/community/tutorials/…
Daniel

Penso che ci sia una quarta possibilità che è che in qualche modo il server non è accessibile (problemi di routing Internet, qualcosa in mezzo ...) Anche se è possibile accedere ad altri servizi perché il percorso scelto può differire per sshe altri servizi.
Alexis Wilke,

3

Verifica tramite comando telnet se riesci a connetterti alla porta SSH 22. Se non riesci a connetterti, verifica. Innanzitutto dovresti essere in grado di connetterti sulla porta n. 22 al server.

Per impostazione predefinita, la porta SSH è 22. Ma se hai configurato un'altra porta, utilizza quella porta anziché 22.

telnet <ip / url del server> <porta>

ad es. telnet domain.com 22


2
Questo timeout sarà lo stesso (altrimenti il ssh -vregistro avrebbe mostrato che la connessione è riuscita, invece di dirlo scaduto)
Wouter Verhelst

@Wouter Verhelst sì, grazie per chiarimenti
AVJ

Come si può verificare quale porta è configurata? Configurare una nuova porta?
Yonatan Simson,

@YonatanSimson, supponendo che tu abbia accesso, puoi usare sudo netstat -a64np( netstat) e cercare il sshdserver (ultima colonna). Se non hai accesso, puoi provare nmap.
Alexis Wilke,
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.