Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

629
Views
No se puede acceder al repositorio de git desde jenkins

Configuré Jenkins en una máquina Linux y mi repositorio git está en otro servidor Linux. Pero cuando trato de dar la URL del repositorio a Jenkins, aparece el siguiente error.

 Failed to connect to repository : Command "git -c core.askpass=true ls-remote -h ssh://user@ip/~/export1 HEAD" returned status code 128: stdout: stderr: Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

¿Cuál podría ser la causa de esto?

He visto que la clave rsa de ambos sistemas está presente en la carpeta .ssh/known_hosts de cada uno.
También puedo extraer o clonar código del repositorio a una carpeta en el sistema Jenkins. Entonces, ¿por qué Jenkins no puede tomarlo?
También probé la URL user@ip:/fullpath/to/repo

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Debe asegurarse de que Jenkins se esté ejecutando como el usuario correcto (el que tiene las claves en ~/.ssh/id_rsa(.pub)

Es posible que ese usuario no sea el mismo que se usó en la URL de ssh: user@ip significa que se está conectando a ip usando una cuenta que tiene su clave pública en ~user/.ssh/authorized_key .

Entonces, el proceso de Jenkins debe ser ejecutado por una cuenta que tenga la clave pública y privada, cuya clave pública está en ~user/.ssh/authorized_key en el lado del servidor git.
Y esa cuenta debería haber hecho (solo una vez) un ssh-keyscan -H ip >> ~account/.ssh/known_hosts antes de cualquier intento de ssh, para registrar la ip del servidor git como un host conocido.

¿Ser un repositorio simple hace alguna diferencia o cambio en la URL?

No. El .git al final de la carpeta del repositorio básico es opcional cuando se usa como URL.

over 4 years ago · Santiago Trujillo Report

0

Además de la respuesta de @VonC, también puede usar el complemento Credentials para definir un conjunto de credenciales en su maestro de Jenkins que su trabajo de Jenkins usa para acceder a su repositorio de Git. Esto le permite ejecutar Jenkins como un usuario diferente al que tiene acceso al repositorio de Git.

over 4 years ago · Santiago Trujillo Report

0

El principal problema era la seguridad de los sistemas. No había comprobado los mecanismos de autenticación en mi servidor. La autenticación de contraseña para el servidor git estaba causando el problema porque la máquina jenkins intenta disparar directamente un ls-remote a la ruta. Cuando haga lo mismo en la terminal, se le pedirá una contraseña y luego la aceptará. Cuando configuré la autenticación de contraseña y UsePAM en no y habilité la autenticación RSA, la autenticación de clave pública y la configuración de clave autorizada en sí en el archivo sshd_config, y reinicié, pude acceder al repositorio y no recibí este error.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!