我在Windows 10上使用GitHub Desktop。最初,我使用其HTTPS URL克隆了一个存储库,但是现在我们的组织建议我们必须使用SSH URL。所以我改变了这一点。
我还已经将我的公共SSH密钥(id_rsa.pub
)的内容复制到了我的GitHub帐户中。我的SSH密钥受密码保护。
现在,当我尝试在GitHub Desktop中进行同步时,出现以下错误:
在Git Bash中,它可以正常工作(尽管在每次拉动/推入之前都要求我提供我的密码短语)。知道我需要做什么才能完成这项工作吗?
答案 0 :(得分:2)
搜索并尝试使用ssh-agent失败后,我发现如果您使用git bash shell启动github桌面,它会提示您输入密码。我在 .bash_profile 中添加了一个别名,以便轻松启动 github 桌面。
eval C:/Users/labrat/AppData/Local/GitHubDesktop/GitHubDesktop.exe
我也将我的 git core.sshCommand 设置为这个,它适用于 git bash 和 github 桌面:
git config core.sshCommand "'C:\\Program Files\\Git\\usr\\bin\\ssh.exe' -i C:/Home/.ssh/id_rsa_name"
答案 1 :(得分:0)
确保使用latest version of GitHub Desktop并尝试:
git@github.com:<aUser>/<aRepo>
)然后查看问题是否仍然存在。
答案 2 :(得分:0)
我能够通过创建一个 ssh 配置文件来使其工作,其内容类似于本要点中提供的内容:
https://gist.github.com/JoaquimLey/e6049a12c8fd2923611802384cd2fb4a
我需要让它工作的最少内容是
Host github.com
IdentityFile /c/Users/username/.ssh/id_github
在克隆存储库时,我必须使用 URL 选项,因为 Github.com 选项卡将使用 HTTPS url。
答案 3 :(得分:0)
我现在也有这个问题。 SSH 在 git-bash 中使用 ssh-agent 等工作正常。
但是如果你使用 TortoiseGit,对我来说最简单的方法是使用 TortoiseGitPlink.exe 作为 ssh 客户端,来自 TortoiseGit、git-bash 和 github 桌面:
git config --global core.sshCommand "'C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe'"
这将默认使用 Pageant 来缓存当前会话的密码。设置后,GitHub Desktop 立即开始使用 ssh 存储库重新工作。
答案 4 :(得分:-1)
最近在“ Permission failure cloning in Git in Windows”中看到的情况,请尝试在以下情况下启动GitHub Desktop:
git config --global core.sshCommand "'C:\Windows\System32\OpenSSH\ssh.exe'"
这将确保GitHub Desktop使用正确的OpenSSH ssh.exe
,而不是内部desktop/desktop
issue 5641中使用的OpenSSH。