¿Cómo pasar un archivo de clave al generar un comando ssh desde node.js?

Esto funciona desde mi terminal local:

ssh -i ~/.ec2/mykey.pem [email protected] ls

Claro que lo hace. Pero cuando intento lo mismo usando node.js 'child_process.spawn comando que se queja de que la clave no existe / no se puede acceder.

// child process
var childProcess = require('child_process').spawn;

// spawn the slave using slaveId as the key
slaves[slaveId] = childProcess('ssh', [
    '-i /mykey.pem',
    '[email protected]',
    'ls'
])  

Resultado:

stderr: Warning: Identity file  /mykey.pem not accessible: No such file or directory.  
stderr: Permission denied (publickey).

Las cosas intentaron:

Variaciones en el camino a la clave:
/actual/path/to/mykey.pem
mykey.pem (con una copia del archivo en la raíz del proyecto del nodo)
/mykey.pem (con una copia del archivo en la raíz del proyecto del nodo)
~/.ec2.mykey.pem (donde debería estar)

Ejecutando el comando sin la parte ssh, es decir.childProcess(ls); - trabajos.

chmod 644, 600, 400 etc. mykey.pem

Mi única teoría en este punto es que hay un problema al pasar una referencia de archivo y debo hacerloalguna cosa utilizando el módulo fs. (?) Y sí, sé que hay bibliotecas para el acceso ssh con nodo, pero usan contraseñas que no las eliminan y, de todos modos, mis requisitos no justifican una biblioteca.

Por favor, dime que estoy siendo estúpido y que esto es posible.

ACTUALIZAR:

Ok entonces yopuede usa el comando exec así:

var childProcess = require('child_process').exec;
slaves[slaveId] = childProcess('ssh -i mykey.pem [email protected] ls',  function (error, stdout, stderr) {...}

Sin embargo, me siento como si me hubieran degradado de crear un verdadero esclavo usandofork con todos los mensajes agradables y las propiedades útiles (mi implementación original que funciona bien localmente) para tener una aspiradora y que me digan que haga todo el trabajo por mí mismo (ahora que quiero lanzar esclavos en hosts remotos).

Respuestas a la pregunta(1)

Su respuesta a la pregunta