一切正常,但突然我收到错误消息:
致命:无法访问 'https://username@bitbucket.org/name/repo_name.git/': gnutls_handshake()失败:握手失败
我正在计算机和EC2实例上获取此信息。当我在另一台计算机上尝试时,它在那儿工作正常。
我已经尝试了Stackoverflow和其他论坛的许多解决方案。但没有任何效果!
在计算机上,操作系统是Linux Mint 17,在EC2实例上是Ubuntu 14.04.6 LTS。
可能是问题所在,我应该怎么做才能解决此问题?
答案 0 :(得分:6)
在装有Ubuntu 14.04的服务器上遇到相同的问题,发现2020年8月24日,bitbucket.org更改为不再允许使用旧密码,请参阅https://bitbucket.org/blog/update-to-supported-cipher-suites-in-bitbucket-cloud
这会影响https://到bitbucket的连接,但不会影响ssh的连接,因此对我来说最快的解决方案是add an ssh key to bitbucket,然后将远程地址从https更改为ssh。
更改我从here中找到的遥控器的步骤,基本上是:
Get-ChildItem -Path $varx
的Atlassian论坛上有更多关于此问题的讨论
答案 1 :(得分:5)
最快的解决方案是使用 SSH 而不是 HTTPS 。我尝试了其他方法来解决此问题,但无法正常工作。
以下是从 SSH 替换 HTTPS 的步骤:
在服务器上生成ssh key using ssh-keygen。
从步骤1中生成的id_rsa.pub文件中复制公钥,并根据存储库主机在以下链接中添加公钥-
Bitbucket-https://bitbucket.org/account/settings/ssh-keys/
现在运行以下命令以从服务器命令行终端测试身份验证
Bitbucket
ssh -T git@bitbucket.org
Github
ssh -T git@github.com
Gitlab
ssh -T git@gitlab.com
转到repo目录,然后使用emac或vi或nano打开.git / config文件
将远程“起源” URL(以https开头)替换为以下内容-
对于 Bitbucket -git@bitbucket.org:<用户名> /
对于 Github -git@github.com:<用户名> /
对于 Gitlab -git@gitlab.com:<用户名> /
答案 2 :(得分:1)
sudo bash
mkdir upgrade
cd upgrade
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
tar xpvfz openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./Configure
make ; make install
cd ..
wget https://curl.haxx.se/download/curl-7.72.0.tar.gz
tar xpvfz curl-7.72.0.tar.gz
cd curl.7.72.0
./configure --with-ssl=/usr/local/ssl
make ; make install
cd ..
git clone https://github.com/git/git
cd git
vi Makefile, change prefix= line to /usr instead of home
make ; make install