ssh colgando luego tiempo de espera

8

Soy nuevo en ssh en linux. Tengo dos computadoras conectadas en un interruptor. El primero es 192.168.1.2 y el segundo es 192.168.1.3. Cuando uso el pingcomando recibí una respuesta y todo está bien, pero cuando uso ssh de la primera computadora ssh -v [email protected]me da,

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

Tengo ssh instalado en ambas máquinas. ¿Alguna idea sobre cómo puedo solucionar este problema?

sam
fuente

Respuestas:

1

Mira estas cosas:

  • Puerto 22 abierto y puede recibir conexiones
  • Asegúrese de que OpenSSH u otro proceso SSH se esté ejecutando en el servidor
  • Asegúrese de que el archivo de configuración SSH tenga los valores apropiados

fuente
10
mmm. man sshd_config |grep -i appropriateviene con las manos vacías en todos mis cajas de Linux, y Solaris demasiado
sehe
@sehe El archivo no se encuentra en / etc / ssh /?
3
Esto me hizo <headdesk /> incluso mientras estaba en la cama. El sarcasmo falla. Lo que sugerí (burlonamente) es que la documentación no contiene información sobre la configuración adecuada (sic)
sehe
gracias por todo, en realidad el puerto 22 estaba cerrado, así que he insertado este comando [código] iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 22 -j ACCEPT [/ code]
sam
Gracias @norway, estoy enfrentando el mismo problema. ¿Cómo puedo verificar esas cosas? Estoy usando un alojamiento compartido. Gracias.
abu abu
3

Consejos para solucionar problemas:

  • ¿Puedes ssh localhosten el servidor?
  • ¿Se permiten usuarios? ( AllowUsersconfiguración)
  • ¿Se une a la NIC externa? (buscar ListenAddress 0.0.0.0o ListenAddress ::)
  • ¿Estás corriendo en el puerto 22? ( Port)

    • Básicamente verificar /etc/ssh/sshd_config.
  • Agregado : puede usar netstat -tlpn | grep 22para averiguar qué programas (si los hay) están escuchando en el puerto 22 ( ejecutar como root para ver los nombres de los procesos ).

Además, considere usar un puerto de conexión explícito en lugar de ping (por ejemplo, nmap -PN remote -p22o incluso solo telnet remote 22)

sehe
fuente
1

Lo sé, la pregunta es sobre la red privada, pero tuve una salida similar cuando intentaba acceder a un dispositivo a través de Internet. Después de buscar en Google, encontré esta pregunta; entonces, aunque no responda la pregunta, otros pueden encontrar mi respuesta útil. En mi caso, resultó que mi ISP está bloqueando el puerto 22 / TCP.

Si está intentando acceder a un dispositivo a través de Internet, existen básicamente cinco posibilidades:

  1. La conexión de red podría no estar funcionando entre las máquinas. Intente hacer ping a la dirección IP de la máquina del servidor. Si no puede recibir ningún paquete, intente verificar la conexión de red en ambas máquinas.
  2. El servidor SSH puede estar mal configurado. Pruebe SSHing en el dispositivo localmente (del mismo dispositivo y usuario al mismo dispositivo y usuario) a través de:

    ssh localhost
    
  3. Si la máquina del servidor está conectada a Internet a través de un enrutador, es posible que el reenvío de puertos no esté configurado correctamente. Por lo tanto, verifique la configuración de reenvío de puertos en su enrutador.

  4. El firewall local en la máquina del servidor podría estar filtrando la conexión entrante. Intente permitir conexiones entrantes en el puerto 22 / TCP en las reglas de su firewall o deshabilite temporalmente el firewall por completo.
  5. Uno o ambos ISP podrían estar filtrando la conexión. Intente cambiar el puerto del servidor a algo así como 2222, reinicie el servidor SSH y SSHing utilizando el nuevo puerto. Puede especificar el puerto en la máquina cliente a través de la -popción en el comando como este:

    ssh USER@HOST -p PORT
    
Giorgi Gzirishvili
fuente
0

Primero, verifique si SSH se está ejecutando en el extremo receptor. Inicie sesión en la máquina remota e intente ssh en localhost (ssh en la misma máquina en la que se encuentra).

ssh -v myUserName@localhost

Esto debería solicitar su contraseña y luego debería iniciar sesión en la misma máquina. Si esto no funciona, significa que este host no tiene SSH habilitado. Habilitar el "inicio de sesión remoto" en este servidor debería solucionar el problema.

Sin embargo, si fue capaz de ssh desde el servidor de destino en sí mismo con éxito, entonces el problema probablemente esté en el medio. Lo siguiente que debe verificar son los firewalls en el host de origen para asegurarse de que no estén bloqueando ssh.


fuente
1
Llamo mano-renuncia: en Enabling "remote login"realidad no significa nada. La solución del problema también debería permitir el "inicio de sesión remoto", FWIW
sehe
0

Si openssh-server ya está instalado, podría estar bloqueando el firewall ... suponiendo que tenga habilitado ufw.

Si va de la máquina 192.168.1.2 a la máquina de destino 192.168.1.3. En la máquina de destino, haga ... Sudo ufw permite desde 192.168.1.2. Y viceversa sería útil

stu
fuente
0

[Esta es mi primera respuesta, pido críticas constructivas si es necesario. Gracias. :)]

Puede darse el caso de que haya sido expulsado de la máquina de destino, por ejemplo, porque proporcionó una contraseña incorrecta varias veces.

Edite /etc/fail2ban/jail.localen la máquina de destino ( 192.168.1.3en su caso). Esto se puede hacer si puede ssha esta máquina desde otra donde no está prohibido.

Complete la línea ignoreipdebajo [DEFAULT]con la dirección IP de su máquina fuente:

[DEFAULT]

ignoreip = 192.168.1.2
Bálint Sass
fuente
-1

Verifique las siguientes cosas:

1) Ejecute nmap localhost y verifique el estado del puerto 22

2) En su segunda computadora con la que desea conectarse a través de ssh, realice ssh localhost

Taimoor
fuente