1 votos

No se puede hacer SSH a localhost en un puerto que no sea el 22 en Catalina 10.15.4 ("conexión rechazada")

Utilizando MacOS Catalina 10.15.4, parece que SSH no puede conectarse a localhost en un puerto diferente al predeterminado (22) . Estoy configurando un túnel SSH inverso, por lo que necesito utilizar un puerto distinto al 22. Desde un servidor Linux, ejecuto

work_user@work_machine $ ssh -R 5050:localhost:22 $home_user@$my_public_ip

Esto consigue que me registre en mi Mac de casa, y que añada -vvv muestra que también consigue configurar el reenvío de puertos :

debug1: remote forward success for: listen 5050, connect localhost:22

Sin embargo, cuando quiero volver a conectarme al servidor Linux a través del túnel, no funciona ("Conexión rechazada"):

home_user@home_mac $ ssh -vvv -p 5050 $work_user@localhost
OpenSSH_8.1p1, LibreSSL 2.7.3
debug1: Reading configuration data /Users/home_user/.ssh/config
debug1: /Users/home_user/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 47: Applying options for *
debug1: Connecting to localhost port 5050.
ssh: connect to host localhost port 5050: Connection refused

El /etc/ssh/ssh_config no se ha modificado desde la instalación, es decir, la única configuración no comentada es SendEnv LANG LC_* en Host * . Mi ~/.ssh/config sólo contiene

Host *
 ForwardX11 yes
 ServerAliveInterval 60

por lo que no debería importar.

Tenga en cuenta que ssh localhost funciona, y que el procedimiento anterior solía funcionar bajo 10.15.3.

Pregunta: en MacOS 10.15.4, ¿cómo puedo hacer SSH a un túnel ya abierto con éxito en un puerto distinto al predeterminado?


Preguntas relacionadas y una entrada en el blog:
- Git se cuelga con un URI remoto ssh después de la actualización 10.15.4
- ¿Por qué no puedo hacer ssh usando un puerto diferente al 22 con MacOS 10.15.4?
- https://mjtsai.com/blog/2020/03/31/MacOS-10-15-4-broke-ssh/

Ambos mencionan que SSH parece estar roto en 10.15.4, y que usar la dirección IP en lugar del nombre de host es una solución.

0voto

philb Puntos 11

Las preguntas enlazadas mencionan que el uso de una dirección IP en lugar de un nombre de host funciona. En efecto,

home_user@home_mac $ ssh -p 5050 $work_user@127.0.0.1

sí funciona.

En los comentarios de la entrada del blog enlazada en la pregunta también se menciona el uso de netcat a través de ProxyCommand :

home_user@home_mac $ ssh -p 5050 -oProxyCommand="nc %h %p" $work_user@localhost

Eso también funciona. Las otras sugerencias mencionadas (añadir -4 o -oConnectTimeout=5 ) no lo hizo.


Ten en cuenta que el procedimiento original funciona en el Mac de mis amigos, también con la versión 10.15.4, por lo que parece que hay algo más complejo, aunque no sé qué es exactamente.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X