script run remotely remote password multiple automatico and bash ssh

bash - run - ssh execute command on remote server



Especifique la clave privada en SSH como cadena (2)

Intenta lo siguiente:

echo $KEY | ssh -i /dev/stdin username@host command

La clave no aparece en una instrucción PS, pero debido a que la entrada estándar se redirige, solo es útil para comandos individuales o túneles.

Puedo conectarme a un servidor a través de SSH usando la opción -i para especificar la clave privada:

ssh -i ~/.ssh/id_dsa user@hostname

Estoy creando un script que toma el texto id_dsa de la base de datos, pero no estoy seguro de cómo darle esa cadena a SSH. Necesitaría algo como:

ssh --option $STRING user@hostname

Donde $STRING contiene el valor de id_dsa . Necesito saber la --option si hay una.


No hay tal interruptor, ya que podría filtrar información confidencial. Si lo hubiera, cualquiera podría obtener su clave privada haciendo un simple comando ps .

EDITAR : (debido a los detalles agregados en el comentario)

Deberías guardar la clave en un archivo temporal. Asegúrese de configurar los permisos correctamente antes de escribir en el archivo, si no usa un comando como mktemp para crear el archivo temporal.

Asegúrese de ejecutar el proceso de agente (o agente en caso de OpenSSH) y cargue la clave con <whatever command you use to fetch it form the database> | ssh-add - <whatever command you use to fetch it form the database> | ssh-add -