我在一台新的笔记本电脑上安装了Git(2.20.1.windows.1版),但是我无法克隆任何Github仓库。我也尝试过Gitlab,也遇到了同样的问题。
这是我在克隆Github调试库时遇到的错误:
$ git clone git@github.com:github/debug-repo debug-repo-ssh
Cloning into 'debug-repo-ssh'...
Received disconnect from 140.82.118.4 port 22:11: Bye Bye
Disconnected from 140.82.118.4 port 22
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
以下是ssh -vT git@github.com
命令的输出:
$ ssh -vT git@github.com
OpenSSH_7.9p1, OpenSSL 1.1.1a 20 Nov 2018
debug1: Reading configuration data /c/Users/Tam/.ssh/config
debug1: /c/Users/Tam/.ssh/config line 1: Applying options for github.com
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to github.com [140.82.118.4] port 22.
debug1: Connection established.
debug1: identity file /c/Users/Tam/.ssh/id_github type 0
debug1: identity file /c/Users/Tam/.ssh/id_github-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.9
debug1: Remote protocol version 2.0, remote software version babeld-64adca0f
debug1: no match: babeld-64adca0f
debug1: Authenticating to github.com:22 as 'git'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
Received disconnect from 140.82.118.4 port 22:11: Bye Bye
Disconnected from 140.82.118.4 port 22
它甚至没有到问我密码的地步。
3条答案
按热度按时间gdx19jrr1#
我不知道为什么git捆绑的ssh在我的笔记本电脑上不起作用,但是我找到了一个稳定的解决方案。
1.从http://www.mls-software.com/opensshd.html安装了用于Windows的OpenSSH(OpenSSH_for_Windows_7.7p1)。我刚刚发现它也可以通过Windows 10 Creators Update获得
安装并重新打开PowerShell后,运行
ssh -vT git@github.com
要求输入密码并成功验证了我的身份,但git-agent
命令失败,错误类似于Could not connected to the authentication agent
1.要修复ssh-agent问题,我只需要从services. msc启用
OpenSSH Authentication Agent
服务,并将启动模式设置为Automatic(延迟启动)。ssh-agent
,ssh-add
和ssh-add -l
命令可以运行了,但是git命令仍然失败,错误和之前完全一样。1.为了解决git命令的最后一个问题,我将
SSH_GIT
环境变量设置为OpenSSH的安装位置,对我来说就是C:\Windows\System32\OpenSSH\ssh.exe
. Here's a guide that should help.一旦我这样做并重新启动PowerShell,git clone和所有其他命令开始工作。
pdkcd3nj2#
尝试了我能在网上找到的各种解决方案,但都不起作用,除了answer from lzag。
对于那些懒得关注链接的人,只需添加
到C:\Program Files\Git\etc\ssh\ssh_config(如果你是在那里安装Git的话)
0md85ypi3#
在同事的电脑上也遇到了同样的问题。来自git bash a
ssh git@github.com
对已认证的worked,而克隆却没有,原来git clone
使用plink.exe
,plink.exe
使用默认的 SSH -〉auth 身份(已设置为另一个密钥),而不是pageant
中加载的密钥。删除Putty中存储的密钥(并将其保存在默认会话中)使plink再次通过pageant查找correct键。