Generando keys ssh para el usuario 'apache' en hosting compartido

Estoy haciendo una request de clonación de git desde PHP usando exec con verificación de rsa. Este process parece comenzar bien, sin embargo, pronto me sale el error

Could not create directory 'var/www/.ssh' 

Pensé que había superado tener apache en su propio directory con ssh-add, sin embargo, parece que este no es el caso. Mis dos líneas:

 exec('/usr/bin/ssh-add /path/to/home/dir/id_rsa > ssh.log.txt 2>&1'); exec('/usr/local/bin/git clone git@bitbucket.org:etc.git > git.log.txt 2>&1'); 

¿Hay alguna manera de hacer que el usuario de apache llame a .git usando una key rsa cuando está en un alojamiento compartido restringido que no le permite tocar / var / www /?

Solutions Collecting From Web of "Generando keys ssh para el usuario 'apache' en hosting compartido"

usar la variable de entorno GIT_SSH:

 mkdir /path/to/home/dir/.ssh/ chmod 0700 /path/to/home/dir/.ssh/ chown apache:apache /path/to/home/dir/.ssh/ 

crear contenedor para ssh (en el directory de inicio / ruta / a / inicio / dir / ssh_wrap)

 #!/bin/sh $target=$1; $command=$2; ssh -F /path/to/home/dir/.ssh/ssh_config -i /path/to/home/dir/id_rsa $target $command 

correr

 chmod +x /path/to/home/dir/ssh_wrap 

crea el file /path/to/home/dir/.ssh/ssh_config:

  UserKnownHostsFile=/path/to/home/dir/.ssh/known_hosts StrictHostKeyChecking=no 

en tu script antes de agregar clon git

  export GIT_SSH=/path/to/home/dir/ssh_wrap 

esto puede necesitar cambios, necesitas entender la idea. más información en man git man ssh