Connessione ssh rifiutata: come risolvere i problemi?

Sto provando:

$ ssh eric@myserver 

dove myserver è una macchina nella intranet. Posso eseguire il ping di myserver o rispondere a HTTP sulla porta 8080 e così via, ma quando provo ssh, ottengo

ssh: connect to host myserver port 22: Connection refused 

Sto usando Ubuntu 10.

ps -ax, come suggerito fornisce:

eric@Isaiah:~$ ps -ax | grep ssh Warning: bad ps syntax, perhaps a bogus "-"? See http://procps.sf.net/faq.html 1641 ? Ss 0:04 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session 18376 pts/3 S+ 0:00 grep --color=auto ssh 

Risposta

Non hai un demone SSH in esecuzione. Se guardi loutput del comando ps ax, vedrai che gli unici due processi con “ssh” nella descrizione sono ssh-agent (che fa qualcosa di completamente diverso da sshd) e dal processo grep ssh che stai utilizzando per filtrare loutput di ps.

A seconda della distribuzione installata, potrebbe essere necessario installare o eseguire il ssh server, solitamente chiamato

o sshd a seconda del gestore di pacchetti.

Risposta

Passaggi per eseguire il debug del problema precedente:

  1. Utilizza lo strumento nmap per sapere quali porte sono aperte in quel server . nmap è un port scanner. Poiché potrebbe essere possibile che il server ssh sia in esecuzione su una porta diversa. nmap ti fornirà un elenco di porte aperte.

     $ nmap myserver 

2. Ora puoi controllare quale server è in esecuzione su una determinata porta. Supponiamo che nelloutput di nmap, la porta 2424 sia aperta. Ora puoi quale server è in esecuzione su 2424 utilizzando lo strumento nc (netcat).

 $ nc -v -nn myserver portno 

Supponi che loutput della porta 2424 sia:

myserver 2424 open SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5 

Questo significa che ssh è in esecuzione su 2424.

Continua a cambiare portno nel comando precedente e controlla tutte le porte che sono elencate aperte da nmap.

Risposta

Ciò significa che il server ssh non è in esecuzione su quella macchina o il firewall non consente a ssh di passare. Puoi controllare se ssh è in esecuzione con “ps -ax | grep ssh”.

Commenti

  • Domanda modificata per mostrare i risultati di ps -ax. Non sono sicuro di cosa significhi.
  • Significa che ssh non è in esecuzione.
  • Strano. ' non sono sicuro del motivo per cui hai offerto due volte un aiuto che non è veramente utile. Per prima cosa suggerisci un comando utile per verificare se ssh è in esecuzione, senza dirmi come interpretare i risultati. Quindi fornisci linterpretazione minima di quei risultati, senza un suggerimento su come sei arrivato a quellinterpretazione o quale azione potrebbe essere appropriata. ' non sono sicuro che tu stia cercando di aiutarmi e stia valutando male il mio livello di esperienza o se stai cercando di evidenziare la mia ignoranza.
  • lelenco dei processi non include un processo sshd, il che significa che sshd non è in esecuzione. La soluzione è avviare sshd.

Answer

Il le due opzioni precedenti sono buone. Puoi anche utilizzare gli argomenti -v o -vv.

$ ssh -vv eric@myserver 

Risposta

Ho affrontato anche questo problema, ma in un ambiente VirtualBox, quindi per risolverlo dobbiamo impostare lindirizzo IP in modo che si trovi nella stessa LAN segmento; ad esempio:

Sulla mia macchina host, apro cmd e digito ipconfig. Ottengo 100.2.2.1 (ad esempio).

Quindi nella macchina virtuale dobbiamo impostare lindirizzo della VM in /etc/hosts su un valore come 100.2.2.3 , dai unocchiata al numero finale e rimbalza la macchina virtuale, ma prima di avviare la macchina virtuale configura la rete nelle impostazioni della macchina virtuale, quindi dobbiamo impostare ladattatore di rete in connessione bridge.

Tutto questo è in un ambiente Solaris.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *