
Estou tentando me conectar a um supercomputador por meio de ssh e encaminhamento de porta.
O aplicativo é um C++ servidor e cliente.
Aqui estão os dados da porta:
// default values
server_address = "localhost";
port = 12346;
Eu me conecto ao servidor com o seguinte:
ssh -Y <adress> -L12346:localhost:12346 -l <username>
(também tentei)
ssh -Y <adress> -L12346:127.0.0.1:12346 -l <username>
Meu aplicativo inicia no servidor com esta mensagem de log:
INFO: startServer: Port 12346 on server <SERVERNAME> opened and waits client.
Está tudo bem até aqui.
Mas quando tento conectar-me ao outro computador, o servidor recusa com o seguinte log:
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
A porta aqui (45446) é algo que não configurei e é dinâmica, por isso está sempre mudando.
O aplicativo (conexão servidor-cliente) funciona perfeitamente quando executo os dois em meu desktop.
Qualquer recomendação é apreciada.
Responder1
A porta 45446
é a porta onde seu aplicativo está rodando e é sempre aleatória. Isso não deveria incomodar você.
O que deve incomodar é o motivo pelo qual a conexão foi recusada na linha acima. Isso significa que o ssh está tentando se conectar à porta 123456 e a conexão não foi bem-sucedida. Isso pode ser afetado pela configuração do servidor ( PermitOpen
) ou por algo no servidor, o que é difícil de adivinhar com base nessas informações limitadas.