No se puede SSH desde fuera de LAN a pesar de que el reenvío de puertos parece estar bien

8

Con Ubuntu 12.04, configuré el servidor OpenSSH. Puedo conectarme desde LAN, pero no desde afuera. Estoy usando el mismo sshd_configarchivo que en mis otras máquinas Ubuntu 12.04 (que se encuentran en una LAN diferente).

$ ssh 192.168.0.2

funciona bien, pero

$ ssh 65.76.97.222

(dirección IP compuesta) no funciona. No pasa nada. No hay ningún mensaje de error ni nada. El aviso simplemente se queda allí.

Gracias a los comentarios a continuación, he logrado verificar a través de los sitios web canyouseeme.org y ShieldsUP que el puerto 22 está abierto.

Usando la opción -vvv, obtengo lo siguiente:

$ ssh -vvv 65.76.97.222
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 65.76.97.222 [65.76.97.222] port 22.
debug1: Connection established.
debug1: identity file /home/myname/.ssh/id_rsa type -1
debug1: identity file /home/myname/.ssh/id_rsa-cert type -1
debug1: identity file /home/myname/.ssh/id_dsa type -1
debug1: identity file /home/myname/.ssh/id_dsa-cert type -1
debug1: identity file /home/myname/.ssh/id_ecdsa type -1
debug1: identity file /home/myname/.ssh/id_ecdsa-cert type -1

Y luego el aviso simplemente se queda allí.

Más información de depuración de var/log/auth.log:

$ grep sshd /var/log/auth.log
[cutting old lines...]    
Jul  6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222

Estoy permitiendo que cualquier usuario se conecte, en particular mi propio nombre de usuario. Lo que me confunde es que no he tenido este problema en ninguna otra máquina, aunque están en un LAN diferente. Este lan tiene solo una computadora conectada. ¿Alguna idea de cómo proceder desde aquí?

DustByte
fuente
tratar de usar la opción de detalle ( -v, -vv, a -vvv) para obtener información adicional con referencia a: la conexión. por ejemplo, ssh -vvv -p 51555 65.76.97.222.
amc
consulte el puerto de reenvío canyouseeme.org
hwez
Gracias, he editado mi pregunta para reflejar sus comentarios.
DustByte

Respuestas:

3

Un par de cosas para que revises.

  1. Comprueba /etc/ssh/sshd_configy asegúrate de no tener AllowUsersentradas divertidas .

  2. Especifique el usuario al que desea conectarse como:

    ssh USER@SERVER
    ssh SERVER -lUSER
    
  3. Verifique su firewall ( iptables):

    sudo iptables -L --line-numbers
    sudo iptables -L -t nat --line-numbers
    
Fobos
fuente
2

Verifique que su puerta de enlace en el servidor SSH esté configurada para el enrutador que realiza el reenvío de puertos.

route -n

La ruta predeterminada debe apuntar a ese enrutador, de lo contrario, podrá iniciar conexiones a través de él, ¡pero los ACK no irán a ninguna parte!

Grizly
fuente
1

Necesito verificar que el reenvío de puertos funciona correctamente, generalmente lo hago yendo a https://www.grc.com/shieldsup > Continuar> ponga su número de puerto en el cuadro y haga clic en la sonda de puerto personalizada especificada por el usuario. Eso debería decirle si ese puerto TCP de hecho está abierto al público

meccooll
fuente
Gracias. He editado mi pregunta para reflejar su sugerencia. El problema persiste sin embargo.
DustByte
Bueno, la red está descartada, por lo que parece un problema de configuración. Probargrep sshd /var/log/auth.log
meccooll
Luego se agrega la siguiente línea a auth.log:Jul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
DustByte
1

¿Estás declarando un usuario?

ssh [email protected] -p51555

Si le dio al código la forma en que lo está utilizando, creo que será el nombre de usuario actual predeterminado.

Además, debe tener un usuario en el sistema TARGET con permiso. en el ejemplo anterior "Jimmy"

wlraider70
fuente
Tengo de hecho. Solo me sshd_configconecto con el mismo usuario todo el tiempo y, además, permite que cualquier usuario se conecte.
DustByte