Eu tenho um aplicativo em execução em um Raspberry Pi que configura um túnel SSH de entrada de um servidor remoto, por exemplo:
ssh -N -R 1234:localhost:5678 user@url
... onde 1234
é a porta de escuta no servidor remoto, 5678
é a porta local no Raspberry Pi, user
é o usuário no servidor remoto e url
é a URL do servidor remoto servidor remoto. Isso funciona bem.
No entanto, quando em uso normal, o Raspberry Pi pode ser desligado e ligado novamente sem aviso prévio (não se preocupe, eu o executo a partir de um sistema de arquivos somente leitura, para que não haja risco de corrupção). O problema é que, quando o Raspberry Pi tenta restabelecer o túnel SSH de entrada, o lado do servidor do túnel SSH reclama que não pode ligar à porta como já está em uso.
Existe uma maneira de configurar o túnel SSH para que as novas conexões sempre substituam as antigas, ou eu tenho que adicionar um keep-alive e time-out no lado do servidor (o que levaria uma sobrecarga que eu preferiria evitar)?
Tags ssh ssh-tunneling