Problemas ao iniciar o autossh no boot [ubuntu]

3

Estou tentando iniciar automaticamente um túnel SSH para o meu servidor na inicialização de uma caixa do Ubuntu. Eu tenho uma caixa de Ubuntu que é montada em um veículo de 18 rodas e está em rede por trás de um cartão de ar. A caixa hospeda um banco de dados mysql que estou tentando replicar quando o aircard está conectado. Como eu nunca posso ter certeza do meu IP e quantos ou quais roteadores estou atrás, estou conectado ao meu servidor de replicação com um túnel SSH. Eu consegui trabalhar usando o seguinte comando:

ssh -R 3307:localhost:3307 [email protected]

Agora eu gostaria que isso fosse iniciado sempre que a caixa estivesse e estivesse ativo o tempo todo, então eu instalei o auto-ssh e configurei este pequeno script:

ID=xkenneth
HOST=erdosmiller.com
AUTOSSH_POLL=15
AUTOSSH_PORT=20000
AUTOSSH_GATETIME=30
AUTOSSH_DEBUG=yes
AUTOSSH_PATH=/usr/bin/ssh
export AUTOSSH_POLL AUTOSSH_DEBUG AUTOSSH_PATH AUTOSSH_GATETIME AUTOSSH_PORT
autossh -2 -fN -M 20000 -R 3307:localhost:3306 ${ID}@${HOST}

Eu tentei colocar este script em /etc/init.d/ e usar um comando de post-up em / etc / network / interfaces, bem como colocá-lo em /etc/network/if-up.d/. Em ambas as situações, o script inicia na inicialização, mas o túnel não parece estar corretamente estabelecido. O script funciona quando executado manualmente.

    
por Ken 04.06.2012 / 03:31

2 respostas

1

Se estiver funcionando corretamente, mas não estiver conectando, suspeito que esteja se adiantando e não espere até que a rede esteja conectada. Tente atrasar o túnel, adicionando um sono no início do script. sleep 60 provavelmente faria o trabalho, não tendo certeza de quão rápido sua conexão é estabelecida.

Eu suspeito disso já que o autossh desiste se a primeira tentativa não for bem sucedida. Do README:

If the ssh session fails with an exit status of 1 on the very first 
try, autossh will assume that there is some problem with syntax or
the connection setup, and will exit rather than retrying;

Observe que também é possível definir AUTOSSH_GATETIME para 0 para desabilitar esse comportamento.

    
por 05.06.2012 / 20:54
0

Quando você executa o script, você digita a senha manualmente? Se assim for, você terá que configurar o login paswordless usando chaves SSH.

    
por 04.06.2012 / 23:01