Estoy usando claves privadas para descargar mi repositorio de Github en mi archivo Docker. Tengo algo como esto:
RUN mkdir -p /root/.ssh && echo "$MY_PRIVATE_KEY" >/root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa && ssh-keyscan github.com >> /root/.ssh/known_hosts && cat /root/.ssh/known_hosts && ssh -vvv git@github.com && pip install git+ssh://git@github.com/my_project.git@v1.0.0 && rm /root/.ssh/id_rsa Donde MY_PRIVATE_KEY es un argumento. No puedo volver a crear esta clave. Mi problema es que durante el proceso de conexión recibo el siguiente error: key_load_private_type: incorrect passphrase supplied to decrypt private key
¿Es posible omitir la frase de contraseña de alguna manera?
La frase de contraseña es necesaria para descifrar la clave. No puedes "saltarlo". Puede eliminar la frase de contraseña de la clave mediante ssh-keygen -p (consulte la página del manual para obtener más detalles).
Es posible que desee investigar el uso de una clave de implementación de GitHub , que es una clave ssh por repositorio que otorga acceso de solo lectura al repositorio. Estos están destinados a resolver exactamente la situación en la que se encuentra: la necesidad de implementar software automáticamente desde un repositorio de GitHub que requiere autenticación.
Su MY_PRIVATE_KEY parece estar protegida con una frase de contraseña (una clave con una frase de contraseña vacía no es lo mismo que una clave no cifrada).
La clave en .ssh/id_rsa normalmente no está protegida por una frase de contraseña, sino que está protegida por permisos para permitir solo el acceso del propietario (0600).
Puede eliminar la frase de contraseña de su clave usando OpenSSL de esta manera:
set MY_PRIVATE_KEY = `echo $MY_PRIVATE_KEY | openssl rsa` El contenido de id_rsa debería verse así:
-----BEGIN RSA PRIVATE KEY----- . . . -----END RSA PRIVATE KEY-----Tuve un problema similar y resulta que la razón es que la clave ssh se copió de manera diferente debido al Makefile