首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows环境下Git中权限的克隆

Windows环境下Git中权限的克隆
EN

Stack Overflow用户
提问于 2020-04-30 14:04:26
回答 2查看 2.5K关注 0票数 5

当我在Windows10v.1909上使用CMD或ssh代理从GitHub克隆时,如下所示:

代码语言:javascript
复制
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

但是,我运行了ssh -vT git@github.com,并且密钥可以工作。

代码语言:javascript
复制
debug1: Offering public key: {My key}

代码语言:javascript
复制
Hi {My username}! You've successfully authenticated, but GitHub does not provide shell access.

但有了吉特巴什我可以克隆得很好。

GitLab也会出现这种情况。

我试过了

代码语言:javascript
复制
Host *
 ForwardAgent yes

.ssh/config中,它不起作用。

我还尝试了来自GitHub支持页面GitHub社区论坛的所有解决方案,但仍然无法工作。

PS。我更喜欢Windows cmd。

EN

Stack Overflow用户

回答已采纳

发布于 2020-05-01 16:55:56

在Powershell会话中,尝试:

代码语言:javascript
复制
$env:GIT_SSH_COMMAND='ssh -Tv'; git clone git@gitlab.com:myuser/myrepo.git

并查看SSH查找默认id_rsa/id_rsa.pub密钥对的位置。

如果私钥是密码保护的,请确保到首先启动ssh-agent

“任择议定书”提到:

显然,Git不使用本地OpenSSH。

那是假的。也许GitHub桌面不使用OpenSSH,就像桌面/桌面问题5641中所看到的:“桌面在Windows上不使用OpenSSH,如果运行,则倾向于嵌入式SSH”

因此,解决办法是:

代码语言:javascript
复制
git config --global core.sshCommand "'C:\Windows\System32\OpenSSH\ssh.exe'"

但Git本身就是这样:

代码语言:javascript
复制
D:\prgs\gits\current\bin>where ssh
D:\prgs\gits\current\usr\bin\ssh.exe

D:\prgs\gits\current\bin>ssh -V
OpenSSH_8.2p1, OpenSSL 1.1.1f  31 Mar 2020

这比Windows 1更近期:

代码语言:javascript
复制
C:\WINDOWS\System32\OpenSSH\ssh.exe -V
OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5

(Winver: 1909年,构建18363.836=

这就是为什么我总是用我的自己的路径启动工具。

代码语言:javascript
复制
set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\
set GH=C:\path\to\git
set PATH=%GH%\bin;%GH%\usr\bin;%GH%\mingw64\bin;%PATH%

这样,我确信我将首先使用Git工具(包括OpenSSH工具),然后再使用其他工具。

票数 5
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61525234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档