Tengo una PC detrás de un NAT que hace una conexión SSH inversa a mi VPC Digitalocean. Utilizo esta conexión SSH invertida desde casa para iniciar sesión en la PC de mi oficina (estoy autorizado para hacerlo) y copiar archivos y hacer otras cosas importantes.
Aunque no con frecuencia, noté que mi PC de oficina se reinicia (debido a fallas de energía, etc.) y rompe la conexión SSH invertida que ha hecho con mi VPC. En este tipo de casos, no puedo conectarme desde la PC de mi casa a la PC de mi oficina.
Ejecuto el siguiente script para hacer la conexión inversa + proxy dinámico para anonimizar mi tráfico (ya que no estoy obligado a compartir información de navegación) generado en la PC de la oficina.
autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC
No hay forma de que pueda ejecutar este script nuevamente en mi PC de la oficina al reiniciar, ya que no estoy físicamente allí. Para resolver este problema instalé el siguiente crontab.
Nota: el rev.sh
archivo contiene la línea anterior. El certificado "digitalOcean" y rev.sh se encuentra en Ubuntu home
. Por lo tanto, cuando ejecuto ./rev.sh
en mi terminal Ubuntu obtengo un proxy dinámico y también accedo al servidor ym DigitalOcean. Este método funciona al 100%.
Sin embargo, cuando instalo el crontab con el siguiente método, Mi PC ubuntu nunca crea un proxy dinámico. Puedo ver esto porque cuando reviso este proxy de Google Chrome, dice que el proxy rechaza la conexión.
Aquí están los trabajos de cronejo que probé como trabajo de raíces También probé estos como un usuario normal, aún así no funcionaron.
@reboot bash /home/user/rev.sh
@reboot /home/user/rev.sh
@reboot cd /home/user && ./rev.sh
Luego instalé un crontab varios minutos antes de la hora actual y esperé a que se ejecutara.
24 12 8 * * * bash /home/user/rev.sh
24 12 8 * * * /home/user/rev.sh
estos tampoco se ejecutaron.
Por favor, tenga la amabilidad de ayudarme a detectar mi error. Hay muchas preguntas similares en este sitio web sobre mi problema. He referido muchas respuestas por lo tanto, pero ninguna de ellas parecía ayudar.
/var/log/cron*
. Para fines de prueba, simplemente podría escribir algo como*/2 * * * * /path/to/script
: ejecutará un script cada 2 minutos. También verifique si hay correos para el usuario que ejecuta cron. ¿Es root? Usa elmail
comando. Oh, puedo ver que estás usando la clave ssh? Dudo que cron job pueda encontrarlo si no le das una ruta completa después del-i
cambio.