git 使用 ssh 连接克隆失败 "Connection reset by <server_IP> port 7999"

git clone using ssh connection fails "Connection reset by <server_IP> port 7999"

我想使用 ssh 身份验证克隆 bitbucket 存储库,因为通过 https 方法进行克隆会导致我的存储空间超过 1Gb 的存储库之一出现连接超时错误。

我在 windows 客户端上使用“ssh-keygen”生成了 ssh 密钥,public 密钥 (id_rsa) 已添加到我的 bitbucket 帐户。设置 --> 管理帐户 ---> SSH 密钥

Bitbucket DataCenter 托管在 Azure linux(Ubuntu) 虚拟机上,默认 ssh 端口 7999 在 azure 防火墙上为我的机器 ip 列入了白名单,[=47= 上没有激活内部防火墙] 服务器.

我的帐户拥有系统管理员权限。

git clone ssh://git@serverURL:7999/dem/projectname.git

错误信息:

Cloning into 'projectname'...
kex_exchange_identification: read: Connection reset by peer
Connection reset by Server_ip port 7999
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.  

我还尝试在 /etc/hosts.allow 中添加“sshd: mySystem_IP”,在 bitbucket 服务器上仍然出现相同的错误。

有没有人遇到过类似的问题?不确定我在此处的配置中缺少什么。感谢您的宝贵时间!

使用 ssh -vT 调试:

ssh -vT ssh://git@bitbucket_url.com:7999
OpenSSH_8.8p1, OpenSSL 1.1.1l 24 Aug 2021
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to Server_IP port 7999.
debug1: Connection established.
debug1: identity file /c/Users/user_name/.ssh/id_rsa type 0
debug1: identity file /c/Users/user_name/.ssh/id_rsa-cert type -1
debug1: identity file /c/Users/user_name/.ssh/id_dsa type -1
debug1: identity file /c/Users/user_name/.ssh/id_dsa-cert type -1
debug1: identity file /c/Users/user_name/.ssh/id_ecdsa type -1
debug1: identity file /c/Users/user_name/.ssh/id_ecdsa-cert type -1
debug1: identity file /c/Users/user_name/.ssh/id_ecdsa_sk type -1
debug1: identity file /c/Users/user_name/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /c/Users/user_name/.ssh/id_ed25519 type 3
debug1: identity file /c/Users/user_name/.ssh/id_ed25519-cert type -1
debug1: identity file /c/Users/user_name/.ssh/id_ed25519_sk type -1
debug1: identity file /c/Users/user_name/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /c/Users/user_name/.ssh/id_xmss type -1
debug1: identity file /c/Users/user_name/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.8
kex_exchange_identification: read: Connection reset by peer
Connection reset by Server_IP port 7999

感谢您对问题的所有投入,非常感谢。它帮助我获得了新的信息。 然而,即使在按照@torek 的建议将 OpenSSH 更新到最新版本之后,我也面临着同样的问题。 最后我尝试使用与默认 RSA 不同的加密算法。

ssh-keygen uses RSA by default for generation of access keys.
ssh-keygen -t ed25519 -C "Comment"  uses elliptic curve cryptography

ssh-keygen -t ed25519 为我工作

SSH 密钥位置:C:\Users\UserName.ssh 从文件 id_ed25519.pub 复制密钥内容,并将此 public 密钥添加到您的 Bitbucket 帐户中。 设置 --> 管理帐户 ---> SSH 密钥

这将建立与 Bitbucket 服务器的连接,您的存储库将使用 ssh 毫无问题地被克隆 url。

git clone <ssh_repository_url>