Actualizado sólo de Snow Leopard a Lion, y mi cron puestos de trabajo que usar ssh han dejado de funcionar. Parece que el ssh-agent ya no funciona como se esperaba.
He aquí un bowdlerized versión de mi llamada-de-script cron que funcionó bajo Snow Leopard:
#!/bin/bash
whoami # just to verify I'm running as myself, not root
ssh-agent # just to see what it outputs
eval `ssh-agent`
ssh -vvv REMOTESERVER ls
Cuando se ejecuta desde el símbolo del sistema, este script funciona como se esperaba.
Cuando se ejecuta desde cron, no funciona. El ssh-agent de salida parece normal:
SSH_AUTH_SOCK=/tmp/ssh-QRxPUMRxbu/agent.17147; export SSH_AUTH_SOCK;
SSH_AGENT_PID=17148; export SSH_AGENT_PID;
echo Agent pid 17148;
Agent pid 17150
Pero la ssh -vvv
resultado muestra que se produce justo cuando la clave privada debe ser leído:
debug1: Server accepts key: pkalg ssh-dss blen 818
debug2: input_userauth_pk_ok: fp ...
debug3: sign_and_send_pubkey: DSA ...
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: read_passphrase: can't open /dev/tty: Device not configured
debug2: no passphrase given, try next key
En otras palabras, esperando que me escriba la frase de contraseña de ~/.ssh/id_dsa
, que por supuesto no funciona en cron puestos de trabajo.
Todo esto trabajado en Snow Leopard.
Tenga en cuenta que tengo Acceso a llaves de la instalación para que ssh
, ssh-agent
y ssh-add
pueden leer mi contraseña de mi .ssh/id_dsa
archivo - como resultado puedo SSH desde una ventana de terminal sin tener que introducir mi contraseña.
Este asunto es que necesito ejecutar ssh-add
en algún momento de mi proceso de inicio de sesión? Ejecución de un estándar de bash no ayuda a la tarea en el cron (aunque, curiosamente, lo hace preguntarme por mi contraseña ... que yo creo que no es necesario b/c de las llaves de Acceso de configuración).
NOTA 1 - antes de redireccionar a mí - soy consciente de que hay una pregunta similar aquí (
Mac OS X Lion y sshpass) pero es específicamente acerca de un programa sshpass
que no uso (aunque yo creo que la pregunta sería contestada por este así).
NOTA 2 - que no se puede crear el "cron" etiqueta b/c I carecen de suficiente rep. Si alguien con la suficiente succión podría hacerlo y etiqueta a esta pregunta, sería genial.
NOTA 3 - me doy cuenta de que la frase de paso menos de claves SSH iba a solucionar mi problema; sin embargo, prefiero no ir a esta ruta.