我无法克隆或推送到我服务器上的存储库。
我有一个裸仓库位于一个目录 user@host
在目录 home/user/test.git
我正在尝试通过 git clone
访问.我用了ssh-add <pathtokey>
添加我的 ssh key 。它问我密码。然后我可以 ssh user@host
成功。
但是如果我然后尝试 git clone ssh://user@host/~/test.git
我得到:
Cloning into 'test'...
user@host: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
也试过
-
git clone ssh://user@host/home/user/test.git
-
git clone user@host:home/user/test.git
-
git clone user@host:/home/user/test.git
同样的结果
我猜 git 凭据管理器没有提取 key ?
在服务器上/var/auth/log
说
Feb 20 02:25:36 xxxxx sshd[24674]: Connection closed by authenticating user XXXX x.x.x.x port 56433 [preauth]
- Git 版本:
git version 2.30.1.windows.1
- Git 凭据管理器:
Git Credential Manager version 2.0.318-beta+44acfafa98 (Windows, .NET Framework 4.0.30319.42000)
-
git config -l
报告credential.helper=manager-core
- 都试过了
PowerShell
和git bash
炮弹,同样的结果 -
user
对仓库有读取、执行权限
最佳答案
添加到@VonC 的回复中
在 git-bash 中一切正常。
启动ssh-agent
的正常流程(通过 eval 'ssh-agent'
), 通过 ssh-add <path_to_key>
添加 key 启用 git clone
去工作。
在 PowerShell Core 或 Cmd 中,需要通过 Windows 终端进行更多工作
ssh-agent
自动启动(假设您之前启动了 OpenSSH Authentication Agent
服务),添加 key 有效,您可以 ssh
在此之后,但是git
命令最初不起作用,但如果你这样做了
git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe
这将用 Windows10 实现替换 git-for-windows 附带的(默认)ssh。
在此之后,除了 git-bash 之外,它应该可以正常工作。在 Powershell-Core 中确认,命令提示符
另见: https://gist.github.com/danieldogeanu/16c61e9b80345c5837b9e5045a701c99
关于windows - 无法克隆,可以 SSH。 "Permission denied (publickey).",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66287406/