cron git push con la key ssh

Configuré una key ssh para la count de Github, así que no tengo que ingresar la contraseña cada vez, funciona bien. Aquí está el script que uso:

#!/bin/bash git push origin master 

Pero cuando uso cron para ejecutarlo, no usará mi key ssh. Aquí está el resultado:

 Permission denied (publickey) fatal: The remote end hung up unexpectedly 

Busco y encontré algunos artículos, pero ninguno de ellos resuelve mi problema. Aquí están los artículos que encontré (y mucho más):

https://askubuntu.com/questions/110565/why-is-git-not-using-my-pubkey-with-crontab

https://unix.stackexchange.com/questions/35466/how-to-perform-git-push-using-crontab

git push a través de cron

¿Alguien puede darme un paso a paso para resolver este problema?

Como se menciona en uno de sus hilos , debe apuntar al usuario raíz que ejecuta su script cron al HOME correcto (el que contiene $HOME/.ssh/id_rsa(.pub) , sus keys públicas y privadas.

 #!/bin/bash HOME=/home/yourAccount git push origin master 

Si eso no funciona, comience a depurar su command ssh con

 #!/bin/bash HOME=/home/yourAccount ssh -Tvvv yourGitServer 

Y verifique que primero tenga una key privada simple (no protegida por una frase de contraseña).
Entonces, si necesita una frase de contraseña, asegúrese de que su ssh-agent se esté ejecutando para cachear dicha frase de contraseña (o use llavero, como mencioné anteriormente ).

De acuerdo con sus loggings , la key pública ssh se propone, pero se rechaza.

 debug1: Trying private key: /home/jack/.ssh/id_rsa debug3: no such identity: /home/jack/.ssh/id_rsa 

Vuelva a verificar " BitBucket Configure SSH for Git " y asegúrese de que su id_rsa e id_rsa.pub estén allí, con la protección adecuada .

Verifique también que su id_rsa.pub se haya agregado a su count BitBucket (como una línea).

https://confluence.atlassian.com/download/attachments/304578655/ssh_key.png?version=2&modificationDate=1379979345091&api=v2&effects=drop-shadow

En base a sus comentarios, realmente no entiendo por qué su script no funcionaría en cron. Podemos intentar algunas cosas para aclarar las cosas.

Agregue una configuration en ~/.ssh/config para el usuario que ejecuta el trabajo cron de esta manera:

 Host github-project1 User git HostName github.com IdentityFile /path/to/github.project1.key #or like this: #IdentityFile ~/.ssh/github.project1.key 

Luego, en su tree de trabajo de git, agregue un nuevo control remoto como este:

 git remote add github-project1 github-project1:USER/PROJECT.git 

En la url allí, github-project1:user/project.git , cambie solo USER y PROJECT a los valores correctos para su proyecto, pero deje github-project1 como está: debe coincidir con el valor de la configuration de Host en la configuration de ssh que Recien agregado.

Finalmente, cambie la secuencia de commands para usar este nuevo control remoto:

 #!/bin/bash git push github-project1 master 

Pruebe primero la secuencia de commands en el shell y luego en cron.