Git 权限被拒绝(公钥)错误

Git 权限被拒绝(公钥)错误

我已多次连接到 github,并且知道如何生成 ssh 密钥并将其放入id_rsa.pubgithub 设置中。但由于某种原因,我无法通过此安装连接它。我只是想将私有存储库克隆到新服务器,但当我克隆时,我得到了:

权限被拒绝(公钥)。致命:远程端意外挂断

如果我运行:

ssh -T [email protected]

它告诉我我已经成功验证。

我还能尝试什么?我在 bitnami 堆栈上运行它,所以可能是这导致了问题?这可能是问题所在,我只是不确定该怎么做。.ssh/authorized_keys 目录中已经有一组密​​钥。我没有动它们,因为这是我连接 putty/pagent 的方式。我将新密钥放在 /.ssh 中,而没有动 authorized_keys。正确的设置方法是什么?我应该删除这两对并重新开始吗?对 putty 和 github 使用相同的密钥?如果出现问题,为什么我仍然要进行身份验证?

答案1

您是否尝试过创建新的 SSH 证书,即密钥对?

1 生成默认密钥对:

$ ssh-keygen -t rsa -C "[email protected]"

如果您已经有 SSH 证书,请不要使用此功能。

2 生成附加密钥对:

$ ssh-keygen -t rsa -C "[email protected]"

3 添加非默认键

$ ssh-add ~/.ssh/id_rsa_seconduser
Enter passphrase for /Users/defaultuser/.ssh/id_rsa_seconduser: 
Identity added: /Users/defaultuser/.ssh/id_rsa_defaultuser  (/Users/defaultuser/.ssh/id_rsa_defaultuser)

4 设置 SSH 配置文件 ( ~/.ssh/config),以便 SSH 知道哪个密钥用于哪个服务器:

Host github.com
  HostName github.com
  User git
  IdentityFile /Users/XXXUser/.ssh/id_rsa

Host github-client
  HostName github.com
  User git
  IdentityFile /Users/XXXUser/.ssh/id_rsa_XXXSECONDUSER

5 确保在.git/config与 Github 上的第二个用户帐户关联的 Git 项目的文件中使用了正确的主机名,github-client但不是github.com

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github-client:foobarsomeuser/foobar.git

答案2

似乎您的公钥丢失了,或者您在密钥环中放置了错误的公钥。请检查密钥环是否存在~/.ssh。如果不提及您的操作系统,很难说


.ssh/authorized_keys 目录中已经有一组密​​钥。

我相信这些是通过 ssh 进入 Linux 服务器所需的密钥。

最好的方法是重新生成一组新的 github 私钥/公钥,将 PK 添加到你的 Linux 服务器密钥环,并将公钥粘贴到Github 账户

答案3

gnome-keyring-daemon这是Ubuntu 14.04 LTS 中的一个错误。

看:https://stackoverflow.com/a/44753293/1156933

相关内容