SSH en el puerto 443

Tengo en una maquina Debian el openSSH escuchando en el puerto 22 (por defecto). Lo que quiero es que escuche en el 443 para poderme conectar desde el trabajo.

He puesto Port a 443 y con el putty pongo la IP y me conecto al 443. Me da conection refused. Bien, miro en casa y tengo esta linea en el /var/log/auth.log (por cierto, tengo PermitRootLogin No y Allowuser x)

Dec 12 01:00:35 nombreEquipo sudo:   adrian : TTY=pts/2 ; PWD=/home/x; USER=root ; COMMAND=/usr/bin/tail /var/log/auth.log


Si lo cambio de nuevo al 22 funciona perfecto:
Dec 12 00:42:39 nombreEquipo sshd[8734]: Accepted password for x from IP port 1235 ssh2


Que estoy haciendo mal?
El log no parece estar muy relacionado con el problema... símplemente te dice que el usuario 'adrian' ha ejecutado 'sudo tail /var/log/auth.log' (que debe ser lo que has ejecutado tu para pegar la línea :)

¿Es posible que en el trabajo salgas por un proxy? En ese caso, no va a funcionar...

- ferdy
Ferdy escribió:El log no parece estar muy relacionado con el problema... símplemente te dice que el usuario 'adrian' ha ejecutado 'sudo tail /var/log/auth.log' (que debe ser lo que has ejecutado tu para pegar la línea :)

¿Es posible que en el trabajo salgas por un proxy? En ese caso, no va a funcionar...

- ferdy

Tiene toda la pinta, si.
Si tienes un proxy de por medio, puedes utilizar corkscrew http://www.agroman.net/corkscrew/ que funciona bien incluso en proxys autenticados.
Un saludo
(mensaje borrado)
Si tienes un proxy de por medio, puedes utilizar corkscrew http://www.agroman.net/corkscrew/ que funciona bien incluso en proxys autenticados.


Hrm...... interesante.... Gracias.

- ferdy
Lo he probado desde otro pc de mi casa xDD Y pasa lo mismo. Y en casa no me conecto a traves de proxy xDD.
En teoría con poner en el ssh_config Port 443, bastaría no?

Poniéndolo así funciona(a ver mañana, desde fuera de mi red lo probare):
*SSH en el puerto 22
*sudo iptables -t nat -A PREROUTING -i eth0-p tcp --dport 443 -j REDIRECT --to-port 22
*Putty, me conecto al 443

Lo que no entiendo es el porqué. Quizás el 443 al ser HTTPS este reservado y aunque no haya nada escuchando ahí, no deja asignarlo a otro servicio

Si en vez de 443 pongo, por ejemplo 450, sin problemas. Parece ser que sólo da casca en el 443.
aselR escribió:Lo he probado desde otro pc de mi casa xDD Y pasa lo mismo. Y en casa no me conecto a traves de proxy xDD.
En teoría con poner en el ssh_config Port 443, bastaría no?

Poniéndolo así funciona(a ver mañana, desde fuera de mi red lo probare):
*SSH en el puerto 22
*sudo iptables -t nat -A PREROUTING -i eth0-p tcp --dport 443 -j REDIRECT --to-port 22
*Putty, me conecto al 443

Lo que no entiendo es el porqué. Quizás el 443 al ser HTTPS este reservado y aunque no haya nada escuchando ahí, no deja asignarlo a otro servicio

Si en vez de 443 pongo, por ejemplo 450, sin problemas. Parece ser que sólo da casca en el 443.


Mira a ver si hay algo escuchando en el 443 con un netstat
En el 443 no hay nada, no lo entiendo xDD
A ver, por partes:

En el fichero /etc/ssh/sshd_config, tienes la directiva "Port 443" ADEMÁS de la de "Port 22"?, osea:
Port 22
Port 443


Si es así, reinicia el sshd y revisa los logs, ahí te vendrá que es lo que pasa... (además de que tendrás que revisar si esta el puerto abierto en el router...)

Un ejemplo del log:
secure.4.gz:Nov 18 13:30:08 vps sshd[32462]: Server listening on :: port 443.
secure.4.gz:Nov 18 13:30:08 vps sshd[32462]: Server listening on :: port 22.


Pega la salida de "netstat -putan" (si, putan :D).

P.ej:
tcp        0      0 :::22                       :::*                        LISTEN      26606/sshd
tcp        0      0 :::443                      :::*                        LISTEN      26606/sshd


Además, no estaría de más que hicieras un nmap desde fuera también.
Ehm... ssh_config != sshd_config

- ferdy
El archivo que modifico siempre es el sshd_config y SOLO tengo Port 443. Creo que es el correcto.

Netstat (no entiendo muy bien este comando, muestra los puertos en uso? Si es así no se que tengo, por ejemplo, en el 55697)

Desde fuera de mi red es igual el resultado

lhost ~]$ sudo netstat 192.168.1.33 -putan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 127.0.0.1:10026             0.0.0.0:*                   LISTEN      4400/master         
tcp        0      0 0.0.0.0:55628               0.0.0.0:*                   LISTEN      3176/rpc.statd     
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      3156/rpcbind       
tcp        0      0 0.0.0.0:55697               0.0.0.0:*                   LISTEN      3422/rpc.mountd     
tcp        0      0 0.0.0.0:58641               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:10001               0.0.0.0:*                   LISTEN      3186/perl           
tcp        0      0 127.0.0.1:7634              0.0.0.0:*                   LISTEN      3096/hddtemp       
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      4400/master         
tcp        0      0 0.0.0.0:3710                0.0.0.0:*                   LISTEN      3150/xinetd         
tcp        0      0 0.0.0.0:3712                0.0.0.0:*                   LISTEN      3150/xinetd         
tcp        0      0 0.0.0.0:1344                0.0.0.0:*                   LISTEN      3102/icapd         
tcp        0      0 0.0.0.0:2049                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 :::56751                    :::*                        LISTEN      3176/rpc.statd     
tcp        0      0 :::111                      :::*                        LISTEN      3156/rpcbind       
tcp        0      0 :::80                       :::*                        LISTEN      4291/httpd         
tcp        0      0 :::55287                    :::*                        LISTEN      -                   
udp        0      0 0.0.0.0:5353                0.0.0.0:*                               3179/avahi-daemon: 
udp        0      0 0.0.0.0:10001               0.0.0.0:*                               3186/perl           
udp        0      0 0.0.0.0:808                 0.0.0.0:*                               3176/rpc.statd     
udp        0      0 0.0.0.0:53586               0.0.0.0:*                               -                   
udp        0      0 0.0.0.0:33627               0.0.0.0:*                               3176/rpc.statd     
udp        0      0 0.0.0.0:4011                0.0.0.0:*                               3386/pxe           
udp        0      0 192.168.1.34:4011           0.0.0.0:*                               3386/pxe           
udp        0      0 127.0.0.1:4011              0.0.0.0:*                               3386/pxe           
udp        0      0 0.0.0.0:45564               0.0.0.0:*                               3422/rpc.mountd     
udp        0      0 0.0.0.0:2049                0.0.0.0:*                               -                   
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               3232/dhclient       
udp        0      0 0.0.0.0:69                  0.0.0.0:*                               3150/xinetd         
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               3156/rpcbind       
udp        0      0 192.168.1.34:123            0.0.0.0:*                               3830/ntpd           
udp        0      0 127.0.0.1:123               0.0.0.0:*                               3830/ntpd           
udp        0      0 0.0.0.0:123                 0.0.0.0:*                               3830/ntpd           
udp        0      0 0.0.0.0:59549               0.0.0.0:*                               3179/avahi-daemon: 
udp        0      0 0.0.0.0:708                 0.0.0.0:*                               3156/rpcbind       
udp        0      0 :::55167                    :::*                                    3176/rpc.statd     
udp        0      0 :::111                      :::*                                    3156/rpcbind       
udp        0      0 ::1:123                     :::*                                    3830/ntpd           
udp        0      0 fe80::217:c4ff:fee4:123     :::*                                    3830/ntpd           
udp        0      0 :::123                      :::*                                    3830/ntpd           
udp        0      0 :::52927                    :::*                                    -                   
udp        0      0 :::708                      :::*                                    3156/rpcbind


Lo que me dice dice el auth.log parece correcto
Dec 13 21:41:00 adrian-PC sshd[17118]: Server listening on 0.0.0.0 port 443.
Dec 13 21:41:00 adrian-PC sshd[17118]: Server listening on :: port 443. (que diferencia a esta linea de la anterior?)


Router, puertos 22 y 443 redireccionados, por si acaso.
aselR escribió:
Dec 13 21:41:00 adrian-PC sshd[17118]: Server listening on 0.0.0.0 port 443.
Dec 13 21:41:00 adrian-PC sshd[17118]: Server listening on :: port 443. (que diferencia a esta linea de la anterior?)


IPv4 y IPv6, si quieres puedes desabilitar el soporte IPv6 del demonio ssh dejando solamente "ListenAddress 0.0.0.0" y comentando "ListenAddress ::" en tu sshd_config.
aselR escribió:Router, puertos 22 y 443 redireccionados, por si acaso.

Eso de por si acaso no es muy convincente, por que mejor no dejas el demonio sshd escuchando al 22, y haces la redirección del 443 externo al 22 interno de la pc con el demonio sshd?
aselR escribió:Router, puertos 22 y 443 redireccionados, por si acaso.
Eso de por si acaso no es muy convincente, por que mejor no dejas el demonio sshd escuchando al 22, y haces la redirección del 443 externo al 22 interno de la pc con el demonio sshd?


Esto que comentas lo he puesto en un post anterior, y si que funcionaba:

Poniéndolo así funciona(a ver mañana, desde fuera de mi red lo probare):
*SSH en el puerto 22
*sudo iptables -t nat -A PREROUTING -i eth0-p tcp --dport 443 -j REDIRECT --to-port 22
*Putty, me conecto al 443


Lo que me intrigaba era el porque no funcionaba poniendo el servicio a escuchar en el 443. Aunque ahora, despues de tocar el iptables parece que funciona como es debido. En fín, misterios. En cuanto lo pruebe tal y como esta ahora desde fuera de mi red, ya comentaré si va bien, aunque todo indica que si.

Ante todo, gracias por las respuestas.
Ehm... no veo al sshd escuchando en ningún puerto...
A ver si lanzas el sshd a traves del xinetd (nada recomendable, por cierto) y lo que tienes que configurar es el xinetd...

Un saludo
13 respuestas