conectarse al repositorio GIT da error certificado de pares no válido

Sep 09 2020

Mi empresa se ha trasladado a un nuevo repositorio de GITHUB. En mi servidor de desarrollo de Linux, estoy tratando de conectarme al nuevo repositorio de git para clonarlo. Tengo una herramienta de implementación que obtiene el software del repositorio de GIT y lo implementa automáticamente.

Sin embargo, mi nueva conexión al nuevo repositorio no funciona

$ git clone https://githubxxxxx.com/xxxxxxx/myrepo.git
Cloning into 'myrepo'...
fatal: unable to access 'https://githubxxxxx.com/xxxxxxx/myrepo.git/': Peer's certificate issuer has been marked as not trusted by the user.

Supongo que he hecho todo lo que supongo:

  • Creé una nueva clave para SSH
  • Guardé la clave en el repositorio de GIT

Hice el mismo procedimiento para mi computadora portátil y allí funcionó.

Si cambio la propiedad global de sslVerify

git config --global http.sslVerify false

Entonces puedo conectarme y clonar, pero cada vez tendría que poner el usuario y la contraseña, lo cual no tiene sentido.

¿Alguien sabe si me pierdo algún paso aquí? ¿Hay alguna otra variable global que deba establecer?

Si hago una ssh -val repositorio, veo que puedo autenticarme.

debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,rsa-sha2-512,rsa-sha2-256,ssh-dss>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/ftpfdm/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 535
debug1: Authentication succeeded (publickey).
Authenticated to githubxxxxx.com (via proxy).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: pledge: proc
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
PTY allocation request failed on channel 0
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
Hi x329097! You've successfully authenticated, but GitHub does not provide shell access.
debug1: channel 0: free: client-session, nchannels 1
Connection to githubxxxxx.com closed.

Actualizar

Si lo intento por ssh, tengo una conexión cercana a un host remoto

$ git clone ssh://githubxxxxx.com:mygroup/myrepo.git
Cloning into 'myrepo'...
ssh_exchange_identification: Connection closed by remote host
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Nueva actualización

En cambio, esto funciona. ¿Alguien sabe por qué funciona de esta manera y no con ssh://, cuando en realidad es una clonación por ssh. Estaba a punto de publicar la solución como respuesta, pero creo que no está bien, ya que no tengo idea de por qué funciona de esta manera.

git clone [email protected]:group/myrepo.git

Respuestas

1 VonC Sep 10 2020 at 04:43

El emisor del certificado del par ha sido marcado como no confiable para el usuario.

Esto es puramente un problema de HTTPS y no tiene nada que ver con SSH.

Necesitas hacer:

  • obtenga el certificado de su servidor GitHub remoto

  • guárdelo como un archivo /home/<me>/ghe.pem(reemplácelo <me>por su nombre de usuario)

  • referencialo con:

    git config --global http."https://githubxxxxx.com/".sslcainfo ${HOME}/ghe.pem
    

Si está utilizando una URL SSH, siempre debe utilizar el usuario remoto ' git', por lo que [email protected]:group/myrepo.gitfunciona.