GNU/Linux >> Tutoriels Linux >  >> Linux

gnutls_handshake() a échoué :Échec de la poignée de main GIT

A rencontré le même problème sur un serveur avec Ubuntu 14.04 et a constaté que le 24 août 2020, bitbucket.org a changé pour ne plus autoriser les anciens chiffrements, voir https://bitbucket.org/blog/update-to-supported-cipher- suites-dans-bitbucket-cloud

Cela affecte les connexions https:// à bitbucket, mais n'affecte pas les connexions ssh, donc la solution la plus rapide pour moi était d'ajouter une clé ssh à bitbucket, puis de changer la télécommande de https à ssh.

Les étapes pour changer la télécommande que j'ai trouvées ici, et elles sont essentiellement :

# Find the current remote
git remote -v

origin  https://[email protected]/reponame.git (fetch)
origin  https://[email protected]/reponame.git (push)

# Change the remote to ssh
git remote set-url origin [email protected]:reponame.git

# Check the remote again to make sure it changed
git remote -v

Il y a plus de discussions sur le problème sur les forums Atlassian à https://community.atlassian.com/t5/Bitbucket-questions/fatal-unable-to-access-https-bitbucket-org-gnutls-handshake/qaq-p/ 1468075


La solution la plus rapide consiste à utiliser SSH au lieu de HTTPS . J'ai essayé d'autres façons de résoudre le problème, mais cela ne fonctionnait pas.

Voici les étapes pour remplacer HTTPS depuis SSH :

  1. Générez une clé ssh à l'aide de ssh-keygen sur le serveur.

  2. Copiez la clé publique du fichier id_rsa.pub généré à partir de l'étape 1 et ajoutez-la aux liens suivants en fonction de l'hôte du référentiel -

    Bitbucket - https://bitbucket.org/account/settings/ssh-keys/

    Github - https://github.com/settings/ssh/new

    Gitlab - https://gitlab.com/profile/keys

  3. Exécutez maintenant la commande suivante pour tester l'authentification à partir du terminal de ligne de commande du serveur

    Bucket

    ssh -T [email protected]
    Github
    ssh -T [email protected]
    Gitlab
    ssh -T [email protected]

  4. Allez dans le répertoire repo et ouvrez le fichier .git/config en utilisant emac ou vi ou nano

  5. Remplacez l'URL "d'origine" distante (qui commence par https) par ce qui suit -

    Pour Bitbucket - [email protected]:/.git

    Pour Github - [email protected]:/.git

    Pour Gitlab - [email protected]:/.git


Linux
  1. Ssh renvoie le message "Échec de la demande de transfert x11 sur le canal 1" ?

  2. Ssh – Restreindre un utilisateur Ssh/scp/sftp à un répertoire ?

  3. Impossible d'exécuter des applications X via SSH sous Linux

  4. Comment puis-je effectuer un `git pull` sans ressaisir mon mot de passe SSH ?

  5. Impossible de trouver l'assistant distant pour 'https' pendant le clonage git

Comment réparer l'échec de l'autorisation SSH refusée (publickey, gssapi-keyex, gssapi-with-mic)

Comment répertorier les connexions SSH infructueuses sous Linux

SSLH - Partager un même port pour HTTPS et SSH

Git :échec de l'ouverture du fichier d'index :autorisation refusée sur le statut git. Hébergé sur Bitbucket

Échec du clonage Git :échec de la vérification du certificat du serveur

SSH - Comment inclure la commande -t dans le fichier ~/.ssh/config