`Permiso denegado (clave pública)` cuando se agrega la clave al Agente SSH mediante un script Bash

`Permiso denegado (clave pública)` cuando se agrega la clave al Agente SSH mediante un script Bash

Tanto en mi dispositivo móvil como en Raspberry Pi (casualmente, CPU AArch y ARM respectivamente), ssh-agentno está cargado de forma predeterminada.

Primero tengo que iniciar el ssh-agent:

eval `ssh-agent -s`

Luego procedo a agregar la clave al agente:

ssh-add /home/jimjamz/.ssh/myKey

Se me solicita una contraseña y la introduzco. Luego se agrega la clave al agente:

Enter passphrase for /home/jimjamz/.ssh/myKey: 
Identity added: /home/jimjamz/.ssh/myKey (/home/jimjamz/.ssh/myKey)

Luego puedo conectarme a mi servidor remoto sin tener que especificar mi clave una vez más.

Por conveniencia, quiero agregar lo anterior a un script que inicia el agente y agrega la clave:

#!/bin/bash
eval `ssh-agent -s`
ssh-add /home/jimjamz/.ssh/myKey

Cuando ejecuto el script, puedo ver que el proceso del agente ha comenzado y se me solicita la contraseña de mi clave privada. Ingreso esto correctamente y la clave se agrega al agente.

Sin embargo, cuando intento acceder por ssh a mi servidor remoto, veo lo siguiente:

Permission denied (publickey).

El problema parece estar en las llamadas ssh-adddentro de mi script bash. Si llamo manualmente ssh-addfuera del script y luego intento conectarme por ssh a mi servidor remoto, puedo conectarme.

¿Por qué no reconoce que la clave ya está agregada si ssh-addse llama dentro de un script bash?

Si ejecuto el script bash en una de mis otras máquinas (donde ssh-agent ya está cargado de forma predeterminada), la clave que se agrega dentro del script se puede usar con éxito para enviar ssh a un servidor remoto. Simplemente parece no funcionar en dispositivos donde ssh-agent no se ejecuta automáticamente de forma predeterminada.

información relacionada