Conexión ssh rechazada: ¿cómo solucionar problemas?

Estoy intentando:

$ ssh eric@myserver 

donde myserver es una máquina en la intranet. Puedo hacer ping a myserver o responder a HTTP en el puerto 8080, etc., pero cuando intento ssh, obtengo

ssh: connect to host myserver port 22: Connection refused 

Estoy usando Ubuntu 10.

ps -ax, como se sugiere da:

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 

Respuesta

No tiene un demonio SSH en ejecución. Si observa el resultado del comando ps ax, verá que los únicos dos procesos con «ssh» en la descripción son ssh-agent (que hace algo completamente diferente de sshd) y el proceso grep ssh que estás usando para filtrar la salida de ps.

Dependiendo de la distribución instalada, es posible que deba instalar o ejecutar el servidor ssh, generalmente llamado

o sshd dependiendo de su administrador de paquetes.

Respuesta

Pasos para depurar el problema anterior:

  1. Utilice la herramienta nmap para saber qué puertos están abiertos en ese servidor . nmap es un escáner de puertos. Dado que es posible que el servidor ssh se esté ejecutando en un puerto diferente. nmap le dará una lista de puertos que están abiertos.

     $ nmap myserver 

2. Ahora puede comprobar qué servidor se está ejecutando en un puerto determinado. Suponga que en la salida de nmap, el puerto 2424 está abierto. Ahora puede saber qué servidor se está ejecutando en 2424 utilizando la herramienta nc (netcat).

 $ nc -v -nn myserver portno 

Suponga que la salida del puerto 2424 es:

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

Esto significa que ssh se está ejecutando en 2424.

Continúe cambiando el portno en el comando anterior y verifique todos los puertos que están listados abiertos por nmap.

Respuesta

Eso significa que el servidor ssh no se está ejecutando en esa máquina o el cortafuegos no permite el paso de ssh. Puede verificar si ssh se está ejecutando con «ps -ax | grep ssh».

Comentarios

  • Pregunta editada para mostrar resultados de ps -ax. No estoy seguro de lo que significa.
  • Significa que ssh no se está ejecutando.
  • Extraño. ' no estoy seguro de por qué ha ofrecido dos veces ayuda que no es realmente útil. Primero sugieres un comando útil para verificar si ssh se está ejecutando, sin decirme cómo interpretar los resultados. Luego, proporciona la interpretación mínima de esos resultados, sin una pista de cómo llegó a esa interpretación o qué acción podría ser apropiada. ' no estoy seguro de si está tratando de ayudarme y está juzgando mal mi nivel de experiencia, o si está tratando de resaltar mi ignorancia.
  • El La lista de procesos no incluye un proceso sshd, lo que significa que sshd no se está ejecutando. La solución es iniciar sshd.

Responder

El las dos opciones anteriores son buenas. También puede utilizar los argumentos -v o -vv.

$ ssh -vv eric@myserver 

Respuesta

También enfrenté este problema, pero en un entorno VirtualBox, así que para resolverlo necesitamos configurar la dirección IP para que esté en la misma LAN segmento; por ejemplo:

En mi máquina host, abro cmd y escribo ipconfig. Obtengo 100.2.2.1 (por ejemplo).

Entonces en la máquina virtual debemos configurar la dirección de la VM en /etc/hosts en un valor como 100.2.2.3 , eche un vistazo al número final, y rebote la máquina virtual, pero antes de iniciar la máquina virtual configure la red en la configuración de la máquina virtual, por lo que debemos configurar el adaptador de red en conexión puente.

Todo esto está en un entorno Solaris.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *