Intellij IDEA - git ssh - Permission denied (publickey) Intellij IDEA - Git SSH - 拒绝访问(publickey)

4
我无法从Intellij IDEA克隆存储库,出现以下错误,如图所示。

然而,我能够成功地从命令提示符克隆存储库,如下图所示。

请注意,我已成功将公钥文件添加到Bitbucket。此外,下面的图像还显示了“config”文件的内容。

enter image description here

如评论中所建议,我已运行which git命令,它指向位置/usr/local/bin/git,如下图所示:

enter image description here

此外,IntelliJ中“版本控制”>Git的设置也指向相同的位置,即下面图像中显示的/usr/local/bin/git

enter image description here

下面的图片中,我还提供了Intellij控制台选项卡错误详情

enter image description here


1
请在终端运行“which git”,然后检查您在首选项|版本控制|Git中设置的可执行文件。有可能您指定了不同的可执行文件。 另外,在配置SSH密钥后,您是否尝试过重新启动IDE?(这将帮助我们消除环境变量继承问题) - Ruslan Kuleshov
@RuslanKuleshov 感谢您的回复,我已经运行了 which git 命令并提供了上面的结果/图片。确实,命令提示符和Intellij Git设置都指向同一个git位置,即 /usr/local/bin/git。请帮忙。 - developer
2个回答

5

最近我使用SSH作为认证方法时遇到了完全相同的问题。

解决方法是在~/.ssh内创建(或修改已有的)一个config文件。

在这个config文件中添加如下内容:

Host github.com
  User git
  IdentityFile ~/.ssh/name_of_your_private_key

然后将config文件的权限设置为chmod 600

当然,您可以根据特定情况使用相应的值替换HostUser

希望这有所帮助;)


1
您的 IdentityFile 选项解决了我在 Windows 安装中长期存在的问题。非常感谢! - Henrique de Sousa
太好了,我也一样! - Oskar Westmeijer

1

打开版本控制窗口的控制台选项卡,以查看所启动的命令及其完整错误信息。

关于SSH URL,在导出后重新启动IntelliJ IDEA即可:

export GIT_SSH_COMMAND='ssh -Tv'

你将在控制台选项卡中看到有关克隆尝试及其错误的更多细节。

1
如果您不介意的话,我想稍微纠正一下您的观点:
  1. 就 Git 而言,IDE 依赖于命令行 Git 和 SSH 设置,因此 IDE 中的 SSH 设置不会影响 Git 配置。首先需要检查的是,Git 是否在命令行中能够工作?然后我们需要检查环境变量,确保 IDE 可以访问它们,并且在配置 SSH 之前没有启动过。
  2. 现在的 IDE 使用本机 SSH,在旧版本中有一个复选框可用。
- Ruslan Kuleshov
@RuslanKuleshov 这些操作是否有任何日志记录? - VonC
请问能否澄清一下您的意思?我的理解是,您想要查看执行了哪些git命令?如果是这样的话,您可以在"Git"工具窗口的"控制台"选项卡中找到。 - Ruslan Kuleshov
@RuslanKuleshov https://www.jetbrains.com/help/idea/version-control-tool-window-console-tab.html#66741f93,没错。我已经相应地编辑了答案。 - VonC
非常感谢。我还想说,我真的很感激你回答与IntelliJ IDEA相关的问题。关于第一部分 - “检查IDE SSH配置”,它也不是那么相关,因为在Git操作的情况下,IDE会忽略这些设置,所以你可以删除它。 - Ruslan Kuleshov
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接