GNU/Linux >> Belajar Linux >  >> Linux

gnutls_handshake() gagal:Jabat tangan gagal GIT

Mengalami masalah yang sama di server dengan Ubuntu 14.04, dan menemukan bahwa pada 24 Agustus 2020 bitbucket.org berubah menjadi tidak lagi mengizinkan cipher lama, lihat https://bitbucket.org/blog/update-to-supported-cipher- suite-in-bitbucket-cloud

Ini memengaruhi koneksi https:// ke bitbucket, tetapi tidak memengaruhi koneksi ssh, jadi solusi tercepat bagi saya adalah menambahkan kunci ssh ke bitbucket, lalu mengubah jarak jauh dari https ke ssh.

Langkah-langkah untuk mengubah remote saya temukan dari sini, dan pada dasarnya adalah:

# 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

Ada lebih banyak diskusi tentang masalah ini di forum Atlassian di https://community.atlassian.com/t5/Bitbucket-questions/fatal-unable-to-access-https-bitbucket-org-gnutls-handshake/qaq-p/ 1468075


Solusi tercepat adalah menggunakan SSH bukannya HTTPS . Saya mencoba cara lain untuk memperbaiki masalah tetapi tidak berhasil.

Berikut adalah langkah-langkah untuk mengganti HTTPS dari SSH :

  1. Hasilkan kunci ssh menggunakan ssh-keygen di server.

  2. Salin kunci publik dari file id_rsa.pub yang dihasilkan dari langkah 1 dan tambahkan di tautan berikut tergantung pada host repositori -

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

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

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

  3. Sekarang jalankan perintah berikut untuk menguji autentikasi dari terminal baris perintah server

    Bitbucket

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

  4. Buka direktori repo dan buka file .git/config menggunakan emac atau vi atau nano

  5. Ganti URL "asal" jarak jauh (yang dimulai dengan https) dengan yang berikut -

    Untuk Bitbucket - [email protected]:/.git

    Untuk Github - [email protected]:/.git

    Untuk Gitlab - [email protected]:/.git


Linux
  1. Git Remote Tambahkan Dengan Port SSH Lain (Bukan 22)

  2. Bagaimana mengatasi masalah negosiasi algoritma yang gagal di SSH

  3. Bagaimana saya bisa melakukan `git pull` tanpa memasukkan kembali kata sandi SSH saya?

  1. Bagaimana cara membuat git tidak meminta kata sandi saat menarik?

  2. Git:file indeks terbuka gagal:Izin ditolak pada status git. Dihosting di Bitbucket

  3. Git Clone Fails:Verifikasi Sertifikat Server Gagal

  1. Ssh Mengembalikan Pesan "Permintaan Penerusan x11 Gagal Di Saluran 1"?

  2. Gagal menentukan port https untuk pengalihan di Docker

  3. Terowongan SSH HTTPS