es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error al cargar la clave “/dev/fd/63: Error al activar el CI/CD en Gitlab”.

Gitlab CI/CD falló al conectar con el Droplet de Digital Ocean, a través de ssh:

Este es mi archivo de CI

before<em>script:
  - apt-get update -qq
  - apt-get install -qq git
  # Configuración de las claves de implementación SSH
  - 'which ssh-agent || ( apt-get install -qq openssh-client )'
  - eval $(ssh-agent -s)
  - ssh-add <(echo "${SSH</em>PRIVATE_KEY}" | base64 --decode | tr -d "\r")
  - mkdir -p ~/.ssh
  - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'

deploy:
  type: deploy
  environment:
    name: production
  script:
    - ssh root@xxx.xxx.xxx.xxx "cd /var/www/html/customer-web && git checkout master && git pull origin master && npm install && npm run build && exit"
  only:
    - master

cuando activo esto, obtengo el siguiente error

$ eval $(ssh-agent -s)
Agent pid 267
$ ssh-add &lt;(echo "${SSH_PRIVATE_KEY}" | base64 --decode | tr -d "\r")
Error loading key "/dev/fd/63": formato inválido
Cleaning up project directory and file based variables
00:01
ERROR: Job failed: Código de salida 1

y también estoy guardando ~/.ssh/id_rsa en la variable de CD/CI. ¿Alguien tiene idea de por qué se produce este error y falla?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el error está relacionado con el formato de la clave privada SSH. Asegúrate de que la clave privada SSH tenga el formato correcto y no contenga caracteres adicionales, como saltos de línea o espacios. Además, asegúrate de que la clave privada SSH esté guardada correctamente en las variables de CI/CD.

    Una solución podría ser regenerar la clave privada SSH y asegurarse de que se guarde en el formato correcto sin caracteres adicionales. Otra solución podría ser modificar el script para usar una clave SSH o nombre de usuario diferente para conectarse al Droplet de Digital Ocean.

Comments are closed.