![La conexión al servidor en el puerto remoto falla debido al puerto aleatorio dinámico](https://rvso.com/image/1604257/La%20conexi%C3%B3n%20al%20servidor%20en%20el%20puerto%20remoto%20falla%20debido%20al%20puerto%20aleatorio%20din%C3%A1mico.png)
Estoy intentando conectarme a una supercomputadora a través de ssh y reenvío de puertos.
La aplicación es C++ tanto de servidor como de cliente.
Aquí están los datos del puerto:
// default values
server_address = "localhost";
port = 12346;
Me conecto al servidor con lo siguiente:
ssh -Y <adress> -L12346:localhost:12346 -l <username>
(también lo intenté)
ssh -Y <adress> -L12346:127.0.0.1:12346 -l <username>
Mi aplicación se inicia en el servidor con este mensaje de registro:
INFO: startServer: Port 12346 on server <SERVERNAME> opened and waits client.
Todo está bien hasta aquí.
Pero cuando intento conectarme con la otra computadora, el servidor se niega con el siguiente registro:
debug1: Connection to port 12346 forwarding to 127.0.0.1 port 12346 requested.
debug1: channel 3: new [direct-tcpip]
channel 3: open failed: connect failed: Connection refused
debug1: channel 3: free: direct-tcpip: listening port 12346 for 127.0.0.1 port 12346, connect from 127.0.0.1 port 45446 to 127.0.0.1 port 12346, nchannels 4
El puerto aquí (45446) es algo que no he configurado y es dinámico, por lo que siempre cambia.
La aplicación (conexión servidor-cliente) funciona perfectamente cuando ejecuto ambas en mi escritorio.
Se agradece cualquier recomendación.
Respuesta1
El puerto 45446
es el puerto donde se ejecuta su aplicación y siempre es aleatorio. No debería molestarte.
Lo que debería molestarle es el motivo por el cual se rechazó la conexión en la línea anterior. Esto significa que ssh está intentando conectarse al puerto 123456 y la conexión no fue exitosa. Esto puede verse afectado por la configuración del servidor ( PermitOpen
) o por algo en el servidor, lo cual es difícil de adivinar a partir de esta información limitada.