![mapear conexão ssh através de localhost](https://rvso.com/image/1609684/mapear%20conex%C3%A3o%20ssh%20atrav%C3%A9s%20de%20localhost.png)
Não tenho certeza se o que estou tentando fazer é possível, mas estou tentando fazer uma conexão SSH passar pelo host local com encaminhamento de porta.
A razão pela qual quero fazer isso é que tenho alguma configuração em um provedor de nuvem onde uma instância obtém um endereço IP diferente toda vez que é inicializada e isso significa que preciso alterar algumas configurações em meu ambiente de desenvolvimento a cada execução. Eu queria saber se posso de alguma forma guiá-lo através de alguma configuração estática de localhost, eu poderia torná-lo um pouco menos tedioso.
Então, no momento, posso conectar da seguinte maneira e adicionei algum encaminhamento de porta como:
ssh [email protected] -L2222:localhost:2222
Minha esperança era poder fazer algo como:
ssh luca@localhost -p 2222
mas isso vem com o erro:
ssh_exchange_identification: read: Connection reset by peer
Estou surpreso, não é uma conexão recusada ou tempo limite ou algo assim, então me pergunto se isso é algum problema de configuração.
Responder1
Tenho algumas configurações em um provedor de nuvem em que uma instância obtém um endereço IP diferente toda vez que é inicializada e isso significa que preciso alterar algumas configurações em meu ambiente de desenvolvimento a cada execução. Eu queria saber se posso de alguma forma guiá-lo através de alguma configuração estática de localhost, eu poderia torná-lo um pouco menos tedioso.
O método usual para resolver este problema é... DNS. Crie um subdomínio com TTL muito baixo e atualize seus registros A/AAAA para apontar para a nova instância sempre que ela for recriada. Alguns provedores de nuvem podem até conseguir automatizar isso.
(Se o DNS global não funcionar, então /etc/hosts também funcionaria.)
Então, no momento, posso conectar da seguinte maneira e adicionei algum encaminhamento de porta como:
ssh [email protected] -L2222:localhost:2222
Seu servidor remoto provavelmente não está configurado para escutar conexões SSH na porta 2222. Ele está configurado apenas para a porta padrão 22. Portanto, a opção de encaminhamento que você deseja é:
-L 2222:localhost:22
Aqui 2222
está a porta que estará aberta no seu computador e localhost:22
é o destino final ao qual o servidor tentará se conectar.
Estou surpreso, não é uma conexão recusada ou tempo limite ou algo assim, então me pergunto se isso é algum problema de configuração.
O encaminhamento SSH -L
não funciona no nível do pacote como o encaminhamento de porta do seu roteador. Funciona no nível TCP – o clienteem siescuta conexões e, sempre que recebe uma, solicita ao servidor que se conecte ao destino final.
Portanto, existem 3 conexões encadeadas: cliente nº 2 → cliente nº 1 → servidor → destino.
Isso significa que se o servidor não conseguir se conectar, o cliente nº 1 (realizando o encaminhamento) não poderá produzir um erro "Conexão recusada" para o cliente nº 2 porque a conexão local foi de fatoaceitaramjá. A única coisa que pode fazer é fechar a conexão existente sem transferir nenhum dado. Daí "Conexão redefinida por peer".