小编典典

Git:使用 Git 时如何解决 Permission denied (publickey) 错误?

all

我在 Mac Snow Leopard 上,我刚刚安装了git.

我刚试过

git clone git@thechaw.com:cakebook.git

但这给了我这个错误:

Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

我错过了什么?
我也尝试过ssh-keygen不使用 passphase 但仍然是同样的错误。


阅读 236

收藏
2022-03-01

共1个答案

小编典典

如果用户之前没有生成 ssh 公钥/私钥对

此信息正在 TheChaw 上运行,但可以应用于支持 SSH 公钥身份验证的所有其他 git 存储库。(例如,参见 [gitolite][1]、gitlab
或 github。)

首先设置您自己的公钥/私钥对集。这可以使用 DSA 或 RSA,因此基本上您设置的任何密钥都可以使用。在大多数系统上,您可以使用 ssh-keygen。

  • 首先,您需要 cd 进入您的 .ssh 目录。打开终端并运行:

cd ~/.ssh && ssh-keygen

  • 接下来,您需要将其复制到剪贴板。
  • 在 OS X 上运行:cat id_rsa.pub | pbcopy
  • 在 Linux 上运行:cat id_rsa.pub | xclip
  • 在 Windows 上(通过 Cygwin/Git Bash)运行:cat id_rsa.pub | clip
  • 在 Windows(Powershell)上运行:(Get-Content id_rsa.pub | Set-Clipboard感谢
    @orion elenzil)
  • 通过网站将您的密钥添加到您的帐户。
  • 最后设置你的 .gitconfig。
  • git config --global user.name "bob"
  • git config --global user.email bob@... (不要忘记重新启动命令行以确保重新加载配置)

就是这样,您应该很好地克隆和结帐。

更多信息可以在https://help.github.com/articles/generating-ssh-
keys找到(感谢@Lee
Whitney)[1]:https
://github.com/sitaramc/gitolite

-

如果用户之前已经生成了一个 ssh 公钥/私钥对

  • 检查您的 github 或 gitlab 帐户设置上已授权哪个密钥
  • 确定必须从本地计算机关联哪个对应的私钥

eval $(ssh-agent -s)

  • 定义键的位置

ssh-add ~/.ssh/id_rsa

2022-03-01