Não é possível conectar-se ao ssh a partir do crontab

2

Eu posso criar conexão ssh a partir da linha de comando com este comando (sem senha):

ssh -R 9900:localhost:22 user@host

Eu preciso executar este comando sempre que o sistema for reinicializado, então eu coloquei em um script bash e adicionei esta linha ao crontab:

@reboot /home/me/script.sh > output

Mas na saída eu recebo este erro:     ssh: Não foi possível resolver hostname myhost: nome ou serviço desconhecido

Acho que é porque esse script é iniciado antes que a conexão com a Internet seja estabelecida. Eu coloquei um sleep(180) antes do comando ssh, mas não ajudou. Alguma sugestão?

    
por user39463 19.05.2013 / 13:18

1 resposta

0

Idealmente, isso não deve ser feito usando cron , é para isso que serve o seu sistema init. Você poderia criar um serviço que depende do estado da sua rede.

No entanto, isso deve funcionar se você pretende usar cron :

#!/bin/sh

host="foo.bar.com"

# Wait for host's SSH server to become accessible
while ! ssh "user@$host" exit >/dev/null 2>&1; then
    sleep 1
fi

ssh -R 9900:localhost:22 "user@$host"
    
por 19.05.2013 / 13:21

Tags