¿Por qué una conexión ssh no se puede conectar con configuraciones adecuadas?

¿Por qué una conexión ssh no se puede conectar con configuraciones adecuadas?

Al usar Ubuntu Server 14.04, obtuve el servidor ssh ejecutándose en el puerto 2222 (así lo pidieron en la construcción). Ya revisé configuraciones completas y nada parece estar bien.

Esto es lo que está configurado:

  • En el edificio redirigen las conexiones tcp en el puerto 2222 a mi IP.
  • Lo mismo ocurre con el puerto 80, al que puedo llegar.
  • Cuando intento conectarme a través de SSH en el puerto 2222, puedo ver la actividad de la red entrante usandoiftop.
  • Obtuveufwcorriendo con reglas adecuadas:

    2222/TCP ALLOW Anywhere

  • Ensshd.confarchivo que obtuve:

  • Tengo el servidor ssh escuchando en el puerto 2222.

  • Configuré el servidor ssh en AUTHmodo para iniciar sesión pero no puedo ver nada /var/log/auth.logcuando intento conectarme.
  • Este es mi archivo sshd.conf.
  • Sí, el demonio ssh se está ejecutando y se reinició.

Entonces, cada vez que intento conectarme, aparece un mensaje como:

ssh: connect to host <publicbuildingip> port 2222: Connection refused

Ejecutar el cliente en modo detallado produce:

debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to <publicip> [<publicip>] port 2222.
debug1: connect to address <publicip> port 2222: Connection refused
ssh: connect to host <publicip> port 2222: Connection refused

Y sucederá lo mismo si intento iniciar sesión desde un host en la misma red.

Corrernetstaten el servidor como sudo netstat -tulpn | grep sshsalidas:

tcp    0    0 127.0.0.1:2222    0.0.0.0:*    LISTEN    969/sshd

Corrernmapcontra la IP pública desde fuera de las salidas de la red:

Host is up (0.051s latency).
Not shown: 996 filtered ports
PORT     STATE  SERVICE
21/tcp   closed ftp
80/tcp   open   http
2222/tcp closed unknown
8080/tcp closed http-proxy

Nmap done: 1 IP address (1 host up) scanned in 5.31 seconds

Probando telnet <publicip>2222

Salidas:

telnet: Unable to connect to remote host: Connection refused

Lo mismo ocurre si se intenta con la red IP dentro del edificio.

Pero bueno, si top se ejecutó en el servidor muestra que en realidad hay actividad de red al intentar iniciar sesión.

Corrertcpdumpen el servidor como: tcpdump -vniay port 2222 -i eth0generará esto al intentar iniciar sesión:

15:53:36.812402 IP (tos 0x0, ttl 64, id 56954, offset 0, flags [DF], proto TCP (6), length 60)
  192.168.1.86.39822 > 192.168.1.90.2222: Flags [S], cksum 0xa1b8 (correct), seq 3966921350, win 292000, options [mss 1460,sackOK,TS val 308476 ecr 0,nop,wscale 7], lenght 0

¿En qué podría estar fallando?

Respuesta1

Según ese netstatresultado y su sshdarchivo de configuración (especialmenteesta línea) su demonio SSH está escuchando en una dirección IP solo local (127.0.0.1), y no en una IP que realmente se comunica con su LAN o saliente a través del enrutador/dispositivo de puerta de enlace en la red.

Verifique que sshd_configesté configurado para tener una ListenAddresslínea en su LAN, como la dirección IP de la LAN privada asignada al servidor. Si no tiene una, agréguela después de la directiva del puerto, con una sintaxis como ListenAddress 0.0.0.0o ListenAddress ::, reemplazando esos elementos con direcciones IPv4 o IPv6 reales.

Y recuerde que vincular cualquier dirección IP en 127.0.0.0/8 solo terminará en la computadora local, no en ninguna dirección que realmente pueda enrutarse a su LAN/red local/en cualquier otro lugar.

información relacionada