GNU/Linux >> Linux の 問題 >  >> Linux

gnutls_handshake() が失敗しました:ハンドシェイクに失敗しました GIT

Ubuntu 14.04 を搭載したサーバーで同じ問題が発生し、2020 年 8 月 24 日に bitbucket.org が古い暗号を許可しないように変更されたことがわかりました。 https://bitbucket.org/blog/update-to-supported-cipher- を参照してください。 suites-in-bitbucket-cloud

これは bitbucket への https:// 接続に影響しますが、ssh 接続には影響しません。そのため、私にとって最も迅速な解決策は、ssh キーを bitbucket に追加し、リモートを https から ssh に変更することでした。

ここから見つけたリモコンを変更する手順は、基本的に次のとおりです。

# 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

この問題については、https://community.atlassian.com/t5/Bitbucket-questions/fatal-unable-to-access-https-bitbucket-org-gnutls-handshake/qaq-p/ のアトラシアン フォーラムでさらに議論があります。 1468075


最も迅速な解決策は、SSH を使用することです HTTPS の代わりに .問題を解決するために他の方法を試しましたが、うまくいきませんでした.

HTTPS を置き換える手順は次のとおりです。 SSH から :

<オール>
  • サーバーで ssh-keygen を使用して ssh キーを生成します。

  • ステップ 1 で生成された id_rsa.pub ファイルから公開鍵をコピーし、リポジトリ ホストに応じて次のリンクに追加します -

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

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

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

  • 次のコマンドを実行して、サーバー コマンド ライン ターミナルから認証をテストします

    ビットバケット

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

  • repo ディレクトリに移動し、emac または vi または nano を使用して .git/config ファイルを開きます

  • リモートの「オリジン」URL (https で始まる) を次のように置き換えます -

    Bitbucket の場合 - [email protected]:<ユーザー名>/<レポ>.git

    Github の場合 - [email protected]:<ユーザー名>/<レポ>.git

    Gitlab の場合 - [email protected]:<ユーザー名>/<レポ>.git


  • Linux
    1. SSH でアルゴリズム ネゴシエーションが失敗する問題を解決する方法

    2. Linux で SSH 経由で X アプリケーションを実行できない

    3. SSH パスワードを再入力せずに「git pull」を実行するにはどうすればよいですか?

    1. プル時にgitがパスワードを要求しないようにする方法は?

    2. Git:インデックス ファイルを開くことができませんでした:git ステータスでアクセス許可が拒否されました。 Bitbucket でホスト

    3. Git クローンの失敗:サーバー証明書の検証に失敗しました

    1. 別のSSHポートを使用したGitリモート追加(22ではない)

    2. 暗号化されたホームディレクトリを持つUbuntuシステムへのauthorized_keysを使用したSSH?

    3. SSH - ~/.ssh/config ファイルに -t コマンドを含める方法