¿Por qué fallan todos mis intentos de SSH debido al tiempo de espera?

22

Soy nuevo en el uso de ssh y tecnologías relacionadas, por lo que es muy posible que no entienda algo básico. (Esto también podría ser una pregunta para Server Fault en su lugar ... no estoy seguro).

Estoy tratando de ingresar a un servidor web (que tengo) y la conexión nunca se establece debido al tiempo de espera.

~ $ 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

Lo primero que pensé fue que de alguna manera había especificado que el dominio estaba mal, o que algo estaba mal en mi sitio. Así que intenté conectarme al mismo dominio a través de FTP, y funcionó bien (se le solicitó el nombre de usuario):

~ $ 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):

Entonces pensé que tal vez solo estaba usando SSH incorrectamente. Empecé a ver este video tutorial . Aproximadamente en 1 minuto lo hace ssh [email protected]y recibe un mensaje de nombre de usuario, pero me da el mismo tiempo de espera que el anterior. Luego intenté lo ssh google.comque hace lo mismo. ssh localhost, por otro lado, funciona bien. Entonces, el problema parece tener algo que ver con las solicitudes SSH a través de una red.

Mi siguiente pensamiento fue que puede ser un problema de firewall. Tengo instalado Sophos en esta máquina, pero según mi administrador "no debería" bloquear las solicitudes SSH salientes.

¿Alguien puede ayudar a entender por qué sucede esto?

exp1orer
fuente
8
Esa es una dirección IP en vivo que nos está dando. Tiene una conexión FTP no segura ejecutándose en él. Esto podría no ser una buena idea. También no tiene nada que se ejecuta en el puerto 22, que sospecho que es la fuente de sus problemas. No puede simplemente hacer ssh en nada, el servidor necesita tener un sshd ejecutándose, este no parece. Si es su servidor, encienda ssh y apague ftp. Puede hacer ftp sobre ssh una vez que se está ejecutando.
marinus
3
No es necesario eliminar. He editado la IP y le he pedido a SE que purgue el historial de edición. De esa manera, la persona que le respondió no pierde ninguna reputación.
terdon

Respuestas:

24

Ese mensaje de error significa que el servidor al que se está conectando no responde a los intentos de conexión SSH en el puerto 22. Hay tres posibles razones para eso:

  1. No está ejecutando un servidor SSH en la máquina. Tendrá que instalarlo para poder hacer ssh.
  2. Está ejecutando un servidor SSH en esa máquina, pero en un puerto no estándar. Debe averiguar en qué puerto se está ejecutando; digamos que está en el puerto 2222, entonces corres ssh -p 2222 hostname.
  3. Está ejecutando un servidor SSH en esa máquina, y utiliza el puerto en el que está intentando conectarse, pero la máquina tiene un firewall que no le permite conectarse. Tendrá que descubrir cómo cambiar el cortafuegos, o tal vez necesite ssh desde un host diferente para poder ingresar.

EDITAR : como (correctamente) señaló en los comentarios, el tercero es ciertamente el caso; los otros dos provocarían que el servidor enviara un paquete de "restablecimiento" TCP al intentar la conexión del cliente, lo que daría como resultado un mensaje de error de "conexión rechazada", en lugar del tiempo de espera que está obteniendo. Los otros dos también podrían ser el caso, pero primero debe arreglar el tercero antes de poder continuar.

Wouter Verhelst
fuente
66
Si no estuviera instalado, o si se estuviera ejecutando en un puerto diferente, recibiría mensajes de conexión rechazada.
Choza8
2
@ Hut8: Tiene razón. De sus 3 posibilidades, solo la tercera (firewall) podría provocar tiempos de espera.
R ..
En Ubuntu: sudo ufw permite 22; haz tu trabajo entonces; sudo ufw deny 22. digitalocean.com/community/tutorials/…
Daniel
Creo que hay una cuarta posibilidad que es que de alguna manera el servidor no es accesible (problemas de enrutamiento de Internet, algo intermedio ...) Incluso si puede acceder a otros servicios porque la ruta elegida puede diferir para sshotros servicios.
Alexis Wilke
3

Verifique mediante el comando telnet si puede conectarse al puerto SSH 22. Si no puede conectarse, verifíquelo. Primero debe poder conectarse en el puerto no. 22 al servidor.

Por defecto, el puerto SSH es 22. Pero si ha configurado cualquier otro puerto, use ese puerto en lugar de 22.

telnet <ip / url del servidor> <puerto>

por ejemplo, telnet domain.com 22

AVJ
fuente
2
Esto expirará de la misma manera (de lo contrario, el ssh -vregistro habría mostrado una conexión exitosa, en lugar de decir que se agotó el tiempo)
Wouter Verhelst
@Wouter Verhelst, sí, gracias por aclaración
AVJ
¿Cómo puede verificar qué puerto está configurado? Configurar un nuevo puerto?
Yonatan Simson el
@YonatanSimson, suponiendo que tenga acceso, puede usar sudo netstat -a64np( netstat) y buscar el sshdservidor (última columna). Si no tienes acceso, puedes intentarlo nmap.
Alexis Wilke