GNU/Linux >> Linux Esercitazione >  >> Linux

gnutls_handshake() fallito:Handshake GIT fallito

Si è imbattuto nello stesso problema su un server con Ubuntu 14.04 e ha scoperto che il 24 agosto 2020 bitbucket.org è stato modificato per non consentire più i vecchi codici, vedere https://bitbucket.org/blog/update-to-supported-cipher- suite-in-bitbucket-cloud

Ciò influisce sulle connessioni https:// a bitbucket, ma non sulle connessioni ssh, quindi la soluzione più rapida per me è stata aggiungere una chiave ssh a bitbucket e quindi modificare il telecomando da https a ssh.

I passi per cambiare il telecomando li ho trovati da qui, e sono essenzialmente:

# 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

Ci sono ulteriori discussioni sul problema nei forum Atlassian su https://community.atlassian.com/t5/Bitbucket-questions/fatal-unable-to-access-https-bitbucket-org-gnutls-handshake/qaq-p/ 1468075


La soluzione più rapida è utilizzare SSH invece di HTTPS . Ho provato altri modi per risolvere il problema, ma non funzionava.

Di seguito sono riportati i passaggi per sostituire HTTPS da SSH :

  1. Genera la chiave ssh usando ssh-keygen sul server.

  2. Copia la chiave pubblica dal file id_rsa.pub generato dal passaggio 1 e aggiungila ai seguenti collegamenti a seconda dell'host del repository:

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

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

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

  3. Ora esegui il seguente comando per testare l'autenticazione dal terminale della riga di comando del server

    Bitbucket

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

  4. Vai alla directory repo e apri il file .git/config usando emac o vi o nano

  5. Sostituisci l'URL di "origine" remoto (che inizia con https) con il seguente -

    Per Bitbucket - [email protected]:/.git

    Per GitHub - [email protected]:/.git

    Per Gitlab - [email protected]:/.git


Linux
  1. Come risolvere il problema relativo alla negoziazione dell'algoritmo non riuscito su SSH

  2. Impossibile eseguire applicazioni X tramite SSH in Linux

  3. Impossibile trovare l'helper remoto per "https" durante il clone di git

  4. Come fare in modo che git non chieda la password al pull?

  5. Git:apertura file indice non riuscita:autorizzazione negata sullo stato git. Ospitato su Bitbucket

Come correggere l'autorizzazione SSH non riuscita negata (publickey, gssapi-keyex, gssapi-with-mic)

Come elencare gli accessi SSH non riusciti su Linux

SSLH:condividi una stessa porta per HTTPS e SSH

soluzione per client GUI GIT per SSH remoto

Tunnel SSH HTTPS

SSH - Come includere il comando -t nel file ~/.ssh/config