Sto provando a eseguire un git push
da cron. Quando eseguo il comando in modo interattivo sulla shell sta andando bene. Quando si esegue il comando dal crontab di mio utente, cron recapita il messaggio di erroregit push via cron
Permission denied (publickey).
presumo che non ha a che fare con la ricerca o la lettura del mio ~/.ssh/id_rsa, come posso gatto il file da cron bene . UID e EUID sono impostati bene nel cron job. - Qualche idea?
UPDATE
ho ottenuto che funziona quando si forniscono l'ambiente SSH_AUTH_SOCK chiave per il mio lavoro cron, ma io sono preoccupato del fatto che questo è valido solo fino a quando ho effettuato l'accesso. Sto cercando una soluzione che funziona indipendentemente dagli accessi interattivi.
Cosa hai fatto per risolvere questo problema? Per me non era la variabile SSH_AUTH_SOCK (ho provato a passare questo nella riga crontab). Ottengo un errore che git credential-osxkeychain non è un comando git valido. –
@StephenTurner Accedo alla macchina senza l'inoltro dell'agent. Inizio l'agente ssh, catturando il suo output in un file. I (shell) 'sorgente' questo file sulla shell e richiama ssh-add (tutto questo in uno script di shell). L'ultimo comando richiederà l'inserimento della passphrase. Finché ssh-agent continua ad essere eseguito, il lavoro cron deve solo dare origine al suddetto file, quindi i comandi git push vengono eseguiti correttamente. - Non posso commentare 'git credential-osxkeychain', comunque (il mio funziona su linux). – ThomasH