虽然配置了SourceTree,但Git bash没有凭据

时间:2018-02-13 14:27:17

标签: git version-control git-bash atlassian-sourcetree

我正在使用sourcetree,通过ssh配置repo并且所有操作都没有问题,但是通过git bash我无法执行单次提取或拉取:

git fetch
output: Permission denied (publickey).
fatal: Could not read from remote repository.

有没有办法让git使用这个有效的sourcetree配置?

3 个答案:

答案 0 :(得分:1)

我假设您使用的是Windows。您可以将Git与OpenSSH或Plink(PuTTY)一起使用。当您在SourceTree中使用plink时,您的SSH密钥将从PuTTY(例如pagent)或您使用SourceTree配置的内容中读取,当您在另一侧使用Git Bash和OpenSSH时,它们将从〜/ .ssh / id_whatever中读取。

要解决此问题,请在两个客户端中使用相同的SSH技术。要在SourceTree中更改它,转到首选项,在Git Bash中更改它,我认为您需要重新安装它。在安装过程中,系统会询问您是使用plink还是OpenSSH。

答案 1 :(得分:1)

我终于找到了解决方案:

Git Bash & Pageant not using keys

答案 2 :(得分:0)

在您的计算机上生成SSH密钥对:

ssh-keygen -t rsa -C "your.email@example.com" -b 4096

将公钥复制到repo:

cat ~/.ssh/id_rsa.pub

运行cat将显示公钥。您还可以使用SCP或其他内容复制公钥。