Git-使用GitHub桌面的SSH远程控制

时间:2019-07-11 15:55:14

标签: git github-for-windows

我在Windows 10上使用GitHub Desktop。最初,我使用其HTTPS URL克隆了一个存储库,但是现在我们的组织建议我们必须使用SSH URL。所以我改变了这一点。

我还已经将我的公共SSH密钥(id_rsa.pub)的内容复制到了我的GitHub帐户中。我的SSH密钥受密码保护。

现在,当我尝试在GitHub Desktop中进行同步时,出现以下错误:

enter image description here

在Git Bash中,它可以正常工作(尽管在每次拉动/推入之前都要求我提供我的密码短语)。知道我需要做什么才能完成这项工作吗?

5 个答案:

答案 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并尝试:

  • 在GitHub Desktop中删除存储库的引用
  • 关闭,然后在您的ssh-agent is active所在的会话中重新启动GitHub Desktop。
  • 再次导入该存储库(其原始URL应该为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。