git@github.com:执行brew cask安装“程序”时权限被拒绝(公钥)

WeA*_*One 6 macos homebrew github permission-denied

每当我尝试进行 git 克隆或brew 安装时,都会收到以下错误:

不确定问题是什么,我正在使用 ohmysh

==> Tapping homebrew/cask
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Error: Failure while executing; `git clone https://github.com/Homebrew/homebrew-cask /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask` exited with 128.
Follow the instructions here:
  https://github.com/Homebrew/homebrew-cask#reporting-bugs
/usr/local/Homebrew/Library/Homebrew/utils.rb:266:in `safe_system'
/usr/local/Homebrew/Library/Homebrew/tap.rb:273:in `install'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:157:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:123:in `run'
/usr/local/Homebrew/Library/Homebrew/cmd/cask.rb:9:in `cask'
/usr/local/Homebrew/Library/Homebrew/brew.rb:103:in `<main>'
Run Code Online (Sandbox Code Playgroud)

WeA*_*One 8

答案在我的 .gitconfig 文件中。

必须注释掉这一行:

#   insteadOf = https://github.com/
Run Code Online (Sandbox Code Playgroud)


Dav*_*ers 8

OP 提供的解决方案当然是一个有效的解决方法,但对于更多上下文,导致此行为的完整 Git 配置可能如下所示:

[url "git@github.com:"]
    insteadOf = https://github.com/
Run Code Online (Sandbox Code Playgroud)

这会强制通过 HTTPS 发出的任何 GitHub 请求改为使用 SSH。该git@github.com: Permission denied (publickey)通知表明您未设置为通过 GitHub 使用 SSH。

对于一些额外的背景/讨论:

有关从 Git 使用 GitHub 进行身份验证的 GitHub 文档建议通过 HTTPS 进行连接,因此如果您对此感到满意,则可以删除原始配置行。

如果您希望始终通过 SSH 连接,则可以保持配置不变,并按照使用 SSH 连接到 GitHub 上的说明进行操作。