Desejo configurar um túnel para meu servidor doméstico, que será estabelecido logo após a inicialização da minha máquina. Usando esta resposta , tenho meu autossh
comando configurado dentro de um serviço, que foi configurado para ser executado na inicialização. Quero que o túnel funcione pela Internet e tenha um serviço DNS dinâmico para acomodar isso.
Se eu executar o serviço manualmente, o túnel se conectará com sucesso. O problema ocorre quando o serviço é iniciado automaticamente após a inicialização. O serviço inicia bem, no entanto, a conexão com meu servidor não é estabelecida, pois meu nome de host não pode ser resolvido.
ssh child pid is 1413
ssh: Could not resolve hostname my.host.name: Temporary failure in name resolution
ssh exited with error status 255; restarting ssh
Meu arquivo de serviço é o seguinte:
[Unit]
Description=Creates tunnel to server
After=network.target
[Service]
User=james
Environment="AUTOSSH_GATETIME=0"
ExecStart=/usr/bin/autossh -M 0 -o "StrictHostKeyChecking=no" -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -NR 3030:localhost:22 [email protected]
[Install]
WantedBy=multi-user.target
Existe alguma maneira de contornar isso?
Substituir
com
Desculpas, mas acontece que houve um erro ao qual eu não estava prestando atenção:
Este erro seria exibido após os
could not resolve hostname
erros.Embora eu não tenha certeza do que poderia estar causando o erro, consegui contorná-lo adicionando
ExitOnForwardFailure yes
ao meu arquivo/etc/ssh/ssh_config
. Isso encerrará assh
sessão quando esse erro for lançado.Parece que a
ssh
sessão subjacente estava suspensa devido a esse erro. Isso impediuautossh
que eu tentasse me reconectar ao meu servidor. Com esta alteração na minha configuração,autossh
agora tentarei novamente assh
conexão após o erro ser lançado.systemctl status
agora está inundado com esses erros comoautossh
tentativas de se conectar várias vezes:Considerando que anteriormente apenas um desses erros seria exibido, após o qual
autossh
travaria.Os erros que incluí na minha pergunta ainda ocorrem, no entanto, não acho que isso seja motivo de preocupação, pois é possível que uma conexão de rede não tenha sido estabelecida corretamente quando o serviço começar a ser executado.